Controller trong Laravel
Controller trong Laravel là gì?
Như chúng ta đã biết trong Laravel có 3 phần cơ bản là Model, View và Controller. Hôm nay chúng ta sẽ cùng tìm hiểu xem Controller là gì?
Ở bài trước chúng ta đã biết Route là gì và cũng đã biết được Route có thể xử lý được một số hàm trả về đơn giản, nhưng nếu không phải là những thao tác đơn giản như là trả về một chuỗi hay những thao tác không thể xử lý trong một hàm thì sao? Không sao hết, ở đây chúng ta có Controller. Controller là nơi tiếp nhận các request từ người dùng, Controller sẽ gồm những class và function xử lý nghiệp vụ logic, lấy dữ liệu cần thiết để hiển thị cho người dùng ở phần View thay vì xử lý dữ liệu trực tiếp ở Route thì chúng ta sẽ điều hướng qua Controller.Tạo controller trong Laravel
Trước khi tạo ra một controller chúng ta cần lưu ý các ràng buộc sau:
- Controller phải được đặt trong thư mục App\Http\Controllers.
- Tên của controller phải giống với tên class trong file controller đó.
- Class controller bạn tạo ra phải được kế thừa (extends) từ BaseController.
Để tạo controller chúng ta có 2 cách:
Cách 1: Tạo bằng tay.
Để Controller chúng ta tạo ra có thể hoạt động được thì bắt buộc bạn phải tuân thủ các ràng buộc ở trên.
Ví dụ chúng ta tạo ra một file có tên HomeController.php trong thư mục App\Http\Controllers
Cấu trúc thư mục của chúng ta sẽ như sau:
Để tạo một controller bằng lệnh chúng ta chỉ cần mở Commanline lên, trỏ vào thư mục chứa Laravel project của chúng ta và gõ vào dòng lệnh:
php artisan make:controller HomeController
Trong đó HomeController là tên controller bạn muốn tạo.
Sau khi chạy dòng lệnh Laravel sẽ tự sinh cho chúng ta một file HomeController.php và có sẵn code như sau:
Vậy là chúng ta đã có Controller, rất đơn giản đúng không 😉
Sử dụng controller
Chúng ta đã tạo được controller vậy làm sao để sử dụng nó? Rất đơn giản chúng ta chỉ cần tạo hàm xử lý bên trong controller đó và gọi nó ở trong Route là được.
Ví dụ chúng ta sẽ tạo một hàm showWelcome() trong Controller chúng ta vừa tạo ở trên với nội dung như sau:
public function showWelcome(){
return 'Home Controller';
}
Sau đó chúng ta sẽ tạo một route để gọi đến hàm showWelcome() như sau:
nhớ comment lại route trỏ về view welcome có sẵn như bên dưới nhé.
Route::get('/', 'HomeController@showWelcome');
//Route::get('/', function () {
// return view('welcome');
//});
Và đây là kết quả:
Vậy là chúng ta đã biết cách tạo và sử dụng controller rồi đấy. Nếu bạn có thắc mắc hay góp ý hãy để lại bình luận hoặc gửi tin nhắn cho mình qua Fanpage để được hỗ trợ sớm hơn nhé.
Chúc các bạn thành công 😉.
Chúc các bạn thành công 😉.





Nhận xét
Đăng nhận xét