Làm việc với Route, Controller và Model sẽ được giới thiệu trong phần này. Xây dựng dự án CRUD users với Laravel 5.5. Lập Trình Website CRUD sử dụng PHP Framework Laravel.
Chúng ta sẽ tiếp tục với thiết lập Route, Controller, Model và View trong dự án PHP Framework Laravel 5.5 CRUD users.
Bước 5: Tạo UserController
Sử dụng câu lệnh dưới đây trong Terminal để tạo UserController:
1 2 | php artisan make:controller UserController --resource |
Câu lệnh tạo Controller sẽ tạo file UserController.php theo đường dẫn user-crud-laravel/app/Http/Controllers/UserController.php. Flag –resource giúp chúng ta tạo sẵn 7 functions với tên gọi theo chuẩn CRUD Laravel đã quy ước. File UserController.php sẽ có mã nguồn như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | <?php namespace AppHttpControllers; use IlluminateHttpRequest; class UserController extends Controller { /** * Display a listing of the resource. * * @return IlluminateHttpResponse */ public function index() { // } /** * Show the form for creating a new resource. * * @return IlluminateHttpResponse */ public function create() { // } /** * Store a newly created resource in storage. * * @param IlluminateHttpRequest $request * @return IlluminateHttpResponse */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return IlluminateHttpResponse */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return IlluminateHttpResponse */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param IlluminateHttpRequest $request * @param int $id * @return IlluminateHttpResponse */ public function update(Request $request, $id) { // } /** * Remove the specified resource from storage. * * @param int $id * @return IlluminateHttpResponse */ public function destroy($id) { // } } |
Mỗi một function có một nhiệm vụ cụ thể, ví dụ index – hiển thị toàn bộ người dùng, destroy – xóa người dùng cụ thể, …
Bước 6: Tạo Route xử lý CRUD
Tìm file web.php theo đường dẫn user-crud-laravel/routes/web.php và chỉnh sửa như sau:
1 2 3 4 5 6 7 8 | <?php Route::get('/', function () { return view('welcome'); }); Route::resource('users', 'UserController'); |
Static function resource đã được định nghĩa ở trên sẽ tạo cho chúng ta 7 routes và trỏ cụ thể vào 7 functions ở UserController. Sử dụng câu lệnh bên dưới để xem toàn bộ route của dự án PHP Framework Laravel trong Terminal:
1 2 | php artisan route:list |
Ngoài 2 routes đầu tiên do Laravel tạo sẵn, các routes còn lại đều do static function resource của class Route bên trên tạo ra.
Bước 7: Tạo Model User
Mặc định, Laravel đã tạo cho chúng ta model User, chúng ta tạm thời xóa model này để làm quen với câu lệnh tạo Model. Tìm file User.php theo đường dẫn user-crud-laravel/app/User.php. Sử dụng câu lệnh sau trong Terminal/GitBash để tạo Model User:
1 2 | php artisan make:model User |
Chúng ta đã có Migration, Seeder, Route, Controller và Model cho dự án Laravel 5.5 CRUD. Phần tiếp theo mình sẽ giới thiệu về View là Logic theo kiến trúc MVC chuẩn trong Laravel 5.5.