Trong khung MVC, chữ 'C' là viết tắt của Bộ điều khiển. Nó hoạt động như một lưu lượng truy cập trực tiếp giữa Chế độ xem và Mô hình. Trong chương này, bạn sẽ tìm hiểu về Bộ điều khiển trong Laravel
Tạo bộ điều khiển
Mở dấu nhắc lệnh hoặc thiết bị đầu cuối dựa trên hệ điều hành bạn đang sử dụng và nhập lệnh sau để tạo bộ điều khiển bằng Artisan CLI [Giao diện dòng lệnh]
php artisan make:controller --plain
Thay thế bằng tên của bộ điều khiển của bạn. Điều này sẽ tạo ra một hàm tạo đơn giản khi chúng ta truyền đối số — đơn giản. Nếu bạn không muốn tạo một hàm tạo đơn giản, bạn chỉ cần bỏ qua đối số. Hàm tạo đã tạo có thể được nhìn thấy tại app/Http/Controllers
Bạn sẽ thấy rằng một số mã cơ bản đã được thực hiện cho bạn và bạn có thể thêm mã tùy chỉnh của mình. Bộ điều khiển đã tạo có thể được gọi từ các tuyến đường. php theo cú pháp sau
cú pháp
Route::get[‘base URI’,’controller@method’];
Thí dụ
Bước 1 - Thực hiện lệnh sau để tạo UserController
php artisan make:controller UserController --plain
Bước 2 - Sau khi thực hiện thành công, bạn sẽ nhận được đầu ra sau
Bước 3 - Bạn có thể thấy bộ điều khiển đã tạo tại app/Http/Controller/UserController. php với một số mã cơ bản đã được viết sẵn cho bạn và bạn có thể thêm mã của riêng mình dựa trên nhu cầu của bạn
Controller Middleware
We have seen middleware before and it can be used with controller also. Middleware can also be assigned to controller’s route or within your controller’s constructor. You can use the middleware method to assign middleware to the controller. The registered middleware can also be restricted to certain method of the controller.
Assigning Middleware to Route
Route::get['profile', [ 'middleware' => 'auth', 'uses' => 'UserController@showProfile' ]];Ở đây chúng tôi đang gán phần mềm trung gian xác thực cho UserController trong tuyến đường hồ sơ
Chỉ định Middleware trong hàm tạo của Bộ điều khiển
middleware['auth']; } }Ở đây chúng tôi đang chỉ định phần mềm trung gian xác thực bằng phương thức phần mềm trung gian trong hàm tạo UserController
Thí dụ
Bước 1 - Thêm các dòng mã sau vào app/Http/routes. php tập tin và lưu nó
tuyến đường. php
'First', 'uses' => 'UserController@showPath' ]];Bước 2 - Tạo một phần mềm trung gian có tên là FirstMiddleware bằng cách thực thi dòng mã sau
php artisan make:middleware FirstMiddlewareBước 3 - Thêm đoạn mã sau vào phương thức xử lý của FirstMiddleware mới được tạo tại app/Http/Middleware
Phần mềm trung gian đầu tiên. php
First Middleware'; return $next[$request]; } }Bước 4 - Tạo một phần mềm trung gian có tên là SecondMiddleware bằng cách thực hiện lệnh sau
________số 8_______Bước 5 - Thêm đoạn mã sau vào phương thức xử lý của SecondMiddleware mới được tạo tại app/Http/Middleware
Phần mềm trung gian thứ hai. php
Second Middleware'; return $next[$request]; } }Bước 6 - Tạo bộ điều khiển có tên UserController bằng cách thực hiện dòng sau
php artisan make:controller UserController --plainBước 7 - Sau khi thực hiện thành công URL, bạn sẽ nhận được đầu ra sau -
Bước 8 - Sao chép đoạn mã sau vào app/Http/UserController. tập tin php
ứng dụng/Http/UserController. php
Route::get[‘base URI’,’controller@method’];1Bước 9 - Bây giờ hãy khởi chạy máy chủ web nội bộ của php bằng cách thực hiện lệnh sau, nếu bạn chưa thực hiện nó
Route::get[‘base URI’,’controller@method’];2Bước 10 - Truy cập URL sau
Route::get[‘base URI’,’controller@method’];3Bước 11 - Đầu ra sẽ xuất hiện như trong hình dưới đây
Bộ điều khiển tài nguyên yên tĩnh
Thông thường khi làm một ứng dụng chúng ta cần thực hiện các thao tác CRUD [Create, Read, Update, Delete]. Laravel làm cho công việc này trở nên dễ dàng đối với chúng tôi. Chỉ cần tạo một bộ điều khiển và Laravel sẽ tự động cung cấp tất cả các phương thức cho các thao tác CRUD. Bạn cũng có thể đăng ký một tuyến duy nhất cho tất cả các phương thức trong các tuyến. tập tin php
Thí dụ
Bước 1 - Tạo bộ điều khiển có tên MyController bằng cách thực hiện lệnh sau
Route::get[‘base URI’,’controller@method’];4Bước 2 - Thêm đoạn mã sau vào
ứng dụng/Http/Bộ điều khiển/MyController. tập tin php
ứng dụng/Http/Bộ điều khiển/MyController. php
Route::get[‘base URI’,’controller@method’];5Bước 4 - Chúng tôi hiện đang đăng ký tất cả các phương thức của MyController bằng cách đăng ký bộ điều khiển với tài nguyên. Dưới đây là bảng các hành động được xử lý bởi bộ điều khiển tài nguyên
động từ . mục lục . tạo nên . cửa hàng . chỉ . chỉnh sửa . cập nhật . hủy hoạiBước 5 - Thử thực thi các URL được hiển thị trong bảng sau
URL . //máy chủ cục bộ. 8000/my Thực thi phương thức lập chỉ mục của MyController. chỉ mục php . //máy chủ cục bộ. 8000/my/create Thực thi phương thức tạo của MyController. tạo php . //máy chủ cục bộ. 8000/my/1 Thực thi phương thức hiển thị của MyController. chương trình php . //máy chủ cục bộ. 8000/my/1/edit Thực thi phương thức chỉnh sửa của MyController. chỉnh sửa phpBộ điều khiển ngầm
Bộ điều khiển ẩn cho phép bạn xác định một tuyến duy nhất để xử lý mọi hành động trong bộ điều khiển. Bạn có thể định nghĩa nó trong route. tệp php với Tuyến đường. phương pháp điều khiển như hình dưới đây
Route::get[‘base URI’,’controller@method’];6Thay thế bằng tên lớp mà bạn đã đặt cho bộ điều khiển của mình
Tên phương thức của bộ điều khiển phải bắt đầu bằng động từ HTTP như get hoặc post. Nếu bạn bắt đầu bằng get, nó sẽ chỉ xử lý yêu cầu nhận và nếu nó bắt đầu bằng bài đăng thì nó sẽ xử lý yêu cầu bài đăng. Sau động từ HTTP bạn có thể, bạn có thể đặt bất kỳ tên nào cho phương thức nhưng nó phải tuân theo phiên bản viết hoa tiêu đề của URI
Thí dụ
Bước 1 - Thực hiện lệnh bên dưới để tạo bộ điều khiển. Chúng tôi đã giữ tên lớp ImplicitController. Bạn có thể đặt bất kỳ tên nào bạn chọn cho lớp
Route::get[‘base URI’,’controller@method’];7Bước 2 - Sau khi thực hiện thành công bước 1, bạn sẽ nhận được đầu ra sau -
Bước 3 - Sao chép đoạn mã sau vào
ứng dụng/Http/Bộ điều khiển/ImplicitController. tập tin php
ứng dụng/Http/Bộ điều khiển/ImplicitController. php
Route::get[‘base URI’,’controller@method’];8Xây dựng tiêm
Bộ chứa dịch vụ Laravel được sử dụng để giải quyết tất cả các bộ điều khiển của Laravel. Do đó, bạn có thể gõ gợi ý bất kỳ phụ thuộc nào mà bộ điều khiển của bạn có thể cần trong hàm tạo của nó. Các phụ thuộc sẽ tự động được giải quyết và đưa vào phiên bản bộ điều khiển
Thí dụ
Bước 1 - Thêm đoạn mã sau vào app/Http/routes. tập tin php
ứng dụng/Http/tuyến. php
Route::get[‘base URI’,’controller@method’];9Bước 2 - Thêm đoạn mã sau vào
ứng dụng/Http/Bộ điều khiển/ImplicitController. tập tin php
ứng dụng/Http/Bộ điều khiển/ImplicitController. php
php artisan make:controller UserController --plain0Bước 3 - Truy cập URL sau để kiểm tra hàm tạo
php artisan make:controller UserController --plain1Bước 4 - Đầu ra sẽ xuất hiện như trong hình dưới đây
phương pháp tiêm
Ngoài việc tiêm hàm tạo, bạn cũng có thể nhập — phụ thuộc gợi ý vào các phương thức hành động của bộ điều khiển của bạn
Làm cách nào để tạo bộ điều khiển trong Laravel?
Mở dấu nhắc lệnh hoặc thiết bị đầu cuối dựa trên hệ điều hành bạn đang sử dụng và nhập lệnh sau để tạo bộ điều khiển bằng Artisan CLI [Giao diện dòng lệnh] . Thay thếLàm cách nào để tạo bộ điều khiển tài nguyên trong Laravel?
Tạo Bộ điều khiển . Từ dòng lệnh trong thư mục gốc của dự án Laravel của bạn, gõ. php nghệ nhân làm. bộ điều khiển sharkController --resource Điều này sẽ tạo bộ điều khiển tài nguyên của chúng tôi với tất cả các phương thức chúng tôi cần.Làm cách nào để tạo phần mềm trung gian quản trị trong Laravel 8?
Chạy lệnh sau để tạo Phần mềm trung gian quản trị. Mở ứng dụng>Http>Middleware>AdminMiddleware. php tệp mới được tạo. Trong phần mềm trung gian này, chúng tôi sẽ chỉ cho phép truy cập vào tuyến quản trị nếu loại người dùng thuộc về 'Quản trị viên'Làm cách nào để tạo bộ điều khiển trong Laravel 8 bằng cmd?
Cách tạo Trình điều khiển, Mô hình trong Laravel 8 bằng cmd .1. - Lệnh tạo mô hình. Bạn có thể sử dụng mô hình tạo thủ công **php để tạo mô hình ** bằng cách sử dụng dòng lệnh [CLI]. nghệ nhân php làm. mô hình Sản phẩm. .2 – Tạo lệnh Controller. .3. - Tạo Lệnh điều khiển tài nguyên. .4. - Lệnh Tạo Mô hình và Bộ điều khiển