Cứ sau sáu tháng, nhóm nhà phát triển cốt lõi lại đưa ra phiên bản Laravel mới hơn và cải tiến hơn; . Bài đăng này sẽ hướng dẫn bạn tạo một ứng dụng thô trên Laravel 8 một cách nhanh chóng. Nếu bạn là người mới bắt đầu học Laravel, bài viết này sẽ giúp bạn tạo, chèn, cập nhật và xóa mô hình khỏi Cơ sở dữ liệu
Laravel 8 CRUD
Để tạo ứng dụng CRUD trong Laravel 8, máy của bạn phải có phiên bản PHP >= 7. 3 và nhà soạn nhạc với các phần mở rộng bổ sung sau
- Phần mở rộng BCMath PHP
- Tiện ích mở rộng Ctype PHP
- Tiện ích mở rộng OpenSSL PHP
- Phần mở rộng PDO PHP
- Tiện ích mở rộng mã thông báo PHP
- Tiện ích mở rộng XML PHP
- Tiện ích mở rộng Fileinfo PHP
- Tiện ích mở rộng PHP JSON
- Tiện ích mở rộng Mbstring PHP
Bước 1. Cài đặt Laravel 8
Nếu bạn đang sử dụng Laravel Valet, bạn cần cập nhật hệ thống của mình để tạo dự án laravel mới nhất. Bạn có thể tham khảo thêm tại hướng dẫn nâng cấp Laravel Valet
Bạn cũng có thể cài đặt Laravel 8 bằng lệnh sau
composer create-project laravel/laravel --prefer-dist laravel8crud
Tôi sẽ sử dụng Visual Studio Code làm trình chỉnh sửa cho dự án này
Bước 2. Cấu hình cơ sở dữ liệu MySQL
Chúng tôi sẽ sử dụng cơ sở dữ liệu MySQL để tạo Cơ sở dữ liệu và đưa nó trở lại dự án
Laravel cung cấp các. env để thêm thông tin xác thực. Mở tệp và chỉnh sửa mã sau
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root
Tên người dùng và mật khẩu sẽ khác với tên của bạn dựa trên thông tin đăng nhập cơ sở dữ liệu của bạn
Laravel đi kèm với các di chuyển mặc định như bảng người dùng, password_reset và bảng create_failed_jobs. Bây giờ hãy vào terminal và gõ lệnh sau để chạy quá trình di chuyển của bạn.
php artisan migrate
Bạn có thể thấy trong cơ sở dữ liệu của mình rằng các bảng này đã được tạo và các bảng đó trống
Bước 3. Tạo mô hình và di chuyển tùy chỉnh
Chúng tôi sẽ tạo một dự án xung quanh trò chơi Playstation 5. Vì vậy, người dùng có thể tạo trò chơi PS5, chỉnh sửa và xóa trò chơi. Vì vậy, hãy tạo một mô hình Trò chơi và di chuyển
php artisan make:model Game -m
Nó sẽ tạo ra hai tập tin
- Trò chơi. mô hình php
- di chuyển tạo_games_table
Thêm các trường mới bên trong create_games_table. tệp di chuyển php
// create_games_table.php public function up[] { Schema::create['games', function [Blueprint $table] { $table->id[]; $table->string['name']; $table->integer['price']; $table->timestamps[]; }]; }
Các trường id và dấu thời gian được tạo bởi Laravel theo mặc định. Tên và giá là các trường tùy chỉnh mà người dùng có thể thêm qua biểu mẫu web. Cuối cùng, bạn có thể chạy di chuyển để tạo bảng trong cơ sở dữ liệu
php artisan migrate
Bước 4. Tạo bộ điều khiển Laravel 8
Định tuyến tài nguyên Laravel gán các tuyến “CRUD” điển hình cho bộ điều khiển với một dòng mã. Vì ứng dụng của chúng tôi là các hoạt động thô sơ cơ bản, chúng tôi sẽ sử dụng Bộ điều khiển tài nguyên cho dự án nhỏ này
php artisan make:controller GameController --resource
Trong bản cài đặt mới của Laravel 8, không có tiền tố không gian tên nào được áp dụng cho các nhóm tuyến đường mà tuyến đường của bạn được tải vào
Trong các bản phát hành trước của Laravel,
php artisan migrate6 chứa thuộc tínhphp artisan migrate7. Giá trị của thuộc tính này sẽ tự động được thêm tiền tố vào các định nghĩa tuyến đường của bộ điều khiển và lệnh gọi tới phương thứcphp artisan migrate8 helper /php artisan migrate9 . Trong Laravel 8. x, thuộc tính này làphp artisan make:model Game -m0 theo mặc định. Điều này có nghĩa là không có tiền tố không gian tên tự động nào được thực hiện bởi Laravel. ” Laravel 8. x Tài liệu – Ghi chú phát hành
Tại đây, bạn có thể mở App\Providers\RouteServiceProvider. php và sửa đổi đoạn mã sau bên trong phương thức boot[]
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root2
đó là nó. Bây giờ nó có thể tìm thấy bộ điều khiển. Nếu các tệp điều khiển của bạn ở nơi khác, bạn phải chỉ định đường dẫn trong không gian tên
Lưu ý ở đây rằng tôi đã thêm cờ –resource, cờ này sẽ xác định sáu phương thức bên trong GameController, cụ thể là
- Mục lục. [Phương thức index[] được sử dụng để hiển thị danh sách các trò chơi]
- Tạo ra. [Phương thức tạo [] sẽ hiển thị Biểu mẫu hoặc chế độ xem để tạo trò chơi]
- Cửa hàng. [Phương thức store[] được sử dụng để tạo trò chơi bên trong cơ sở dữ liệu. Ghi chú. phương thức tạo gửi dữ liệu biểu mẫu tới phương thức store[]]
- Trình diễn. [Phương thức show[] sẽ hiển thị một trò chơi cụ thể]
- Chỉnh sửa. [Phương thức edit[] sẽ hiển thị Form để chỉnh sửa game. Biểu mẫu sẽ được điền với dữ liệu trò chơi hiện có]
- Cập nhật. [Phương thức update[] được sử dụng để cập nhật trò chơi bên trong cơ sở dữ liệu. Ghi chú. phương thức edit[] gửi dữ liệu biểu mẫu tới phương thức update[]]
- Hủy hoại. [Phương thức hủy [] được sử dụng để xóa trò chơi đã chỉ định]
Theo mặc định, GameController. php được tạo bên trong thư mục ứng dụng >> Http >> bộ điều khiển
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root3
Bạn có thể thấy rằng tệp chứa các thao tác CRUD ở dạng các chức năng khác nhau. Chúng tôi sẽ sử dụng từng chức năng này để tạo các hoạt động thô
Cờ –resource sẽ gọi phương thức resource[] nội bộ của Laravel để tạo các route sau. Bạn có thể kiểm tra danh sách tuyến đường bằng lệnh sau
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root4
Bước 5. Xác định tuyến đường
Để xác định tuyến đường trong Laravel, bạn cần thêm mã tuyến đường bên trong routes >> web. tệp php
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root0
Bước 6. Định cấu hình Bootstrap trong Laravel 8
Laravel cung cấp giàn giáo Bootstrap và Vue nằm trong gói Trình soạn thảo laravel/ui, có thể được cài đặt bằng Trình soạn thảo
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root1
Khi gói laravel/ui đã được cài đặt, bạn có thể cài đặt dàn giáo giao diện người dùng bằng lệnh ui Artisan
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root2
Bây giờ, vui lòng chạy “npm install && npm run dev” để biên dịch giàn giáo mới của bạn
Bước 7. Tạo Chế độ xem trong Laravel 8
Chế độ xem chứa HTML do ứng dụng của bạn cung cấp và tách logic bộ điều khiển/ứng dụng của bạn khỏi logic trình bày của bạn. Lượt xem được lưu trữ trong thư mục tài nguyên/lượt xem
Bên trong thư mục views, chúng ta cũng cần tạo một tệp bố cục. Vì vậy, chúng ta sẽ tạo tệp bên trong thư mục views có tên là layout. lưỡi. php. Thêm mã sau vào bố cục. lưỡi. tệp php
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root3
Trong thư mục resources >> views, tạo các tệp ba thanh sau
- tạo ra. lưỡi. php
- chỉnh sửa. lưỡi. php
- mục lục. lưỡi. php
Bên trong tạo. lưỡi. php, hãy viết đoạn mã sau
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root4
Trong đoạn mã này, chúng ta đã định nghĩa hành động, hành động này sẽ gọi phương thức store[] của phương thức của GameController. Hãy nhớ rằng, chúng tôi đã sử dụng bộ điều khiển tài nguyên
Bây giờ, chúng ta cần trả về chế độ xem tạo này từ phương thức create[] của GameController. Vì vậy, hãy viết đoạn mã sau bên trong phương thức create[] của GameController
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root5
truy cập https. //laravel8crud. kiểm tra/trò chơi/tạo hoặc http. //máy chủ cục bộ. 8000, và bạn sẽ thấy một cái gì đó như dưới đây
Bước 8. Thêm Quy tắc xác thực và lưu trữ dữ liệu
Trong bước này, chúng ta sẽ thêm Xác thực biểu mẫu Laravel. Bây giờ, hãy thêm GameController. php để nhập không gian tên của mô hình Trò chơi bên trong GameController. tệp php.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root6
Viết đoạn mã sau bên trong GameController. hàm store[] của file php
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root7
Chúng tôi sử dụng phương thức $request->validate[] để xác thực, phương thức này nhận một loạt các quy tắc xác thực. Các
Quy tắc xác thực[] là mảng kết hợp. Khóa sẽ là field_name và giá trị là quy tắc xác thực. Tham số thứ hai là một mảng tùy chọn cho thông báo xác thực tùy chỉnh. Các quy tắc được phân tách bằng dấu gạch ngang “. ”. Trong ví dụ này, chúng tôi đang sử dụng các quy tắc xác thực cơ bản nhất.
Nếu xác thực không thành công, nó sẽ chuyển hướng trở lại trang biểu mẫu với thông báo lỗi. Mặt khác, nếu quá trình xác thực vượt qua, nó sẽ tạo trò chơi mới và lưu nó vào cơ sở dữ liệu
Trong trường hợp có lỗi, chúng ta cần lặp qua các thông báo lỗi đó bên trong tệp tạo. lưỡi. php mà chúng tôi đã thực hiện
Nếu bạn để trống tất cả các trường trong biểu mẫu, bạn sẽ thấy thông báo lỗi như hình ảnh này
Chúng ta có thể thấy rằng chúng ta có lỗi, nhưng nếu chúng ta điền tất cả dữ liệu chính xác, bạn sẽ vẫn không lưu dữ liệu vào cơ sở dữ liệu do Ngoại lệ gán hàng loạt
Để ngăn Ngoại lệ gán hàng loạt, chúng ta cần thêm một mảng $fillable bên trong Trò chơi. mô hình php
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root8
Bây giờ, nếu bạn điền vào các trường biểu mẫu chính xác, nó sẽ tạo một hàng mới trong cơ sở dữ liệu
Bước 9. Hiển thị các trò chơi
Để hiển thị danh sách trò chơi, chúng ta cần viết mã HTML bên trong chỉ mục. lưỡi. tệp php. Nhưng trước đó, hãy viết hàm index[] của GameController. php để lấy mảng dữ liệu từ cơ sở dữ liệu
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel8crud DB_USERNAME=root DB_PASSWORD=root9
Bây giờ, hãy viết đoạn mã sau bên trong chỉ mục. lưỡi. tệp php
php artisan migrate0
Chúng tôi đã thêm hai nút chỉnh sửa và xóa để thực hiện các thao tác tương ứng
Bước 10. Hoàn thành Chỉnh sửa và Cập nhật
Để chỉnh sửa dữ liệu, chúng ta cần dữ liệu từ cơ sở dữ liệu. Thêm đoạn mã sau vào trong GameController. chức năng chỉnh sửa tệp php
php artisan migrate1
Bây giờ, hãy tạo tệp mới bên trong thư mục chế độ xem có tên chỉnh sửa. lưỡi. php và thêm đoạn mã sau
php artisan migrate2
Bây giờ, hãy truy cập trang chỉ mục và sau đó chuyển đến trang chỉnh sửa của một trò chơi cụ thể và bạn sẽ thấy Biểu mẫu có các giá trị được điền
Thêm mã sau vào hàm update[] của GameController
php artisan migrate3
Bây giờ bạn có thể cập nhật tất cả dữ liệu vào cơ sở dữ liệu
Bước 11. Tạo chức năng xóa
Để xóa dữ liệu khỏi cơ sở dữ liệu, chúng ta sẽ sử dụng hàm destroy[] của GameController
php artisan migrate4
Hàm xóa [] được cung cấp bởi Laravel để xóa dữ liệu khỏi Cơ sở dữ liệu
Tệp điều khiển hoàn chỉnh là đây
php artisan migrate5
đó là nó. Bây giờ, bạn có thể tạo, đọc, cập nhật và xóa dữ liệu trong Laravel
Nếu bạn quan tâm đến FrontEnd Javascript framework như Vue with Laravel hoặc Angular with Laravel, hãy xem các hướng dẫn như Vue Laravel CRUD và Angular Laravel Tutorial Ví dụ
Tôi đã đặt toàn bộ mã hoạt động thô sơ trên Github để bạn cũng có thể kiểm tra nó
MÃ GITHUB
Bài viết trước Cách xóa khoảng trắng khỏi chuỗi trong PHP
Bài viết tiếp theo Mảng PHP sang JSON. Cách sử dụng PHP json_encode[]
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end