Creare un controller
trong ấu trùngĐể tạo ra một controller
, chúng ta phải mở dấu nhắc lệnh hoặc thiết bị đầu cuối, theo hệ điều hành chúng ta đang sử dụng và nhập lệnh sau để tạo bộ điều khiển bằng cách sử dụng Artisan CLI (Command Line Interface).
php artisan make:controller <controller-name> --plain
Thay thế <controller-name>
Với tên của bạn controller
. Điều này sẽ tạo ra một controller
. Các controller
được tạo có thể được xem trong 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 riêng mình. Các controller
đã tạo có thể được gọi từ web.php với cú pháp sau.
Route::get(‘base URI’,’controller@method’);
1 : Chạy lệnh sau để tạo MyController
php artisan make:controller MyController
2 – Sau khi thực hiện thành công, bạn sẽ nhận được đầu ra sau.
3 – Chúng ta sẽ tìm thấy bộ điều khiển được tạo trong app/Http/Controller/MyController.php
với một số mã cơ bản đã được viết sẵn và chúng tôi có thể thực hiện các thay đổi khi cần.
Chúng tôi đã thấy middleware
và chúng ta cũng có thể sử dụng nó với controller
. Các middleware
nó cũng có thể được gán cho tuyến điều khiển hoặc trong hàm tạo của bộ điều khiển. Bạn có thể sử dụng phương pháp middleware
để chỉ định middleware
al controller
. Các middleware
đã đăng ký cũng có thể được giới hạn trong các phương pháp nhất định của controller
.
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 đường dẫn hồ sơ.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('auth');
}
}
Ở đây chúng tôi đang chỉ định middleware
xác thực sử dụng phương pháp middleware
trong hàm tạo Bộ điều khiển của tôi .
Lưu ý rằng $this->middleware()
công trình chỉ nếu bạn chỉ định nó trong hàm tạo. Nếu chúng ta gọi $this->middleware()
từ một phương pháp điều khiển cụ thể, nó sẽ không đưa ra bất kỳ lỗi nào nhưng phần mềm trung gian sẽ không thực sự hoạt động.
Tùy chọn này hợp lệ, nhưng cá nhân tôi thích đặt tất cả phần mềm trung gian vào routes
, bởi vì nó rõ ràng hơn nơi để tìm kiếm tất cả middleware
.
1 – Hãy thêm các dòng mã sau vào tệp tuyến/web.php và chúng tôi tiết kiệm.
<?php
Route::get('/mycontroller/path',[
'middleware' => 'First',
'uses' => 'MyController@showPath'
]);
2 – Hãy tạo một middleware
gọi là FirstMiddleware
bằng cách chạy dòng mã sau.
php artisan make:middleware FirstMiddleware
3 : thêm đoạn mã sau vào phương thức xử lý các FirstMiddleware
vừa được tạo trong ứng dụng/Http/Phần mềm trung gian .
<?php
namespace App\Http\Middleware;
use Closure;
class FirstMiddleware {
public function handle($request, Closure $next) {
echo '<br>First Middleware';
return $next($request);
}
}
4 – Hãy tạo một middleware
gọi là Phần mềm trung gian thứ hai bằng cách chạy lệnh sau.
php artisan make:middleware SecondMiddleware
5 : hãy thêm đoạn mã sau vào phương thức xử lý của SecondMiddleware
vừa được tạo trong ứng dụng/Http/Phần mềm trung gian .
<?php
namespace App\Http\Middleware;
use Closure;
class SecondMiddleware {
public function handle($request, Closure $next) {
echo '<br>Second Middleware';
return $next($request);
}
}
6 : hãy tạo một controller
gọi là Bộ điều khiển của tôi bằng cách chạy dòng sau.
php artisan make:controller MyController
7 – Sau khi url thực thi thành công, bạn sẽ nhận được kết quả như sau –
8 – Copy đoạn code sau vào file app/Http/MyController.php
.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function __construct() {
$this->middleware('Second');
}
public function showPath(Request $request) {
$uri = $request->path();
echo '<br>URI: '.$uri;
$url = $request->url();
echo '<br>';
echo 'URL: '.$url;
$method = $request->method();
echo '<br>';
echo 'Method: '.$method;
}
}
9 – Bây giờ hãy khởi động máy chủ web nội bộ php bằng cách chạy lệnh sau, nếu bạn chưa chạy.
php artisan serve
10 – Truy cập URL sau.
http://localhost:8000/mycontroller/path
11 – Đầu ra sẽ xuất hiện như trong hình dưới đây.
Hầu như cả hai phần mềm trung gian đều tham gia, nhưng chỉ có một
Controller
di restful resource
Thông thường khi tạo một ứng dụng, bạn cần phải làm gì đó CRUD (Create, Read, Update, Delete)
. Laravel làm cho công việc này trở nên dễ dàng. Chỉ cần tạo một controller
và Laravel sẽ tự động cung cấp tất cả các phương thức cho các hoạt động CRUD
. Chúng tôi cũng có thể ghi lại một đường dẫn đến tất cả các phương thức trong tệp route.php
.
1 : tạo một bộ điều khiển gọi là MyController
bằng cách chạy lệnh sau.
php artisan make:controller MyController
2 : thêm đoạn mã sau vào app/Http/Controllers/MyController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class MyController extends Controller {
public function index() {
echo 'index';
}
public function create() {
echo 'create';
}
public function store(Request $request) {
echo 'store';
}
public function show($id) {
echo 'show';
}
public function edit($id) {
echo 'edit';
}
public function update(Request $request, $id) {
echo 'update';
}
public function destroy($id) {
echo 'destroy';
}
}
3 – Hãy thêm dòng mã sau vào tệp routes/web.php
.
Route::resource('my','MyController');
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 quản lý bởi bộ điều khiển tài nguyên.
Động từ | Đường dẫn | Hoạt động | Tên tuyến đường |
---|---|---|---|
GET | / my | chỉ số | của tôi.chỉ số |
GET | /của tôi/tạo | tạo | my.create |
POST | / my | hàng | my.store |
GET | /tôi của tôi} | hiển thị | Chương trình của tôi |
GET | /của tôi/{của tôi}/chỉnh sửa | chỉnh sửa | của tôi.edit |
PUT / PATCH | /tôi của tôi} | cập nhật | của tôi.update |
DELETE | /tôi của tôi} | phá hủy | của tôi. tiêu diệt |
5 – Hãy thử chạy các URL được hiển thị trong bảng bên dưới.
URL | Mô tả | lối ra |
---|---|---|
http://localhost:8000/my | Thực thi phương thức chỉ mục của MyController.php | chỉ số |
http://localhost:8000/my/create | Thực thi phương thức tạo của MyController.php | creare |
http://localhost:8000/my/1 | Thực thi phương thức show của MyController.php | hiển thị |
http://localhost:8000/my/1/edit | Thực thi phương thức chỉnh sửa của MyController.php | chỉnh sửa |
Ercole Palmeri
Microsoft Excel là công cụ tham khảo để phân tích dữ liệu vì nó cung cấp nhiều tính năng để tổ chức các tập dữ liệu,…
Walliance, SIM và nền tảng nằm trong số những công ty dẫn đầu ở Châu Âu trong lĩnh vực Huy động vốn từ cộng đồng Bất động sản kể từ năm 2017, thông báo hoàn thành…
Filament là một framework phát triển Laravel "tăng tốc", cung cấp một số thành phần full-stack. Nó được thiết kế để đơn giản hóa quá trình…
«Tôi phải quay trở lại để hoàn thành quá trình tiến hóa của mình: Tôi sẽ phóng chiếu bản thân vào bên trong máy tính và trở thành năng lượng thuần khiết. Sau khi định cư ở…
Google DeepMind đang giới thiệu phiên bản cải tiến của mô hình trí tuệ nhân tạo. Mẫu cải tiến mới không chỉ cung cấp…
Laravel, nổi tiếng với cú pháp tinh tế và các tính năng mạnh mẽ, cũng cung cấp nền tảng vững chắc cho kiến trúc mô-đun. Ở đó…
Cisco và Splunk đang giúp khách hàng đẩy nhanh hành trình đến Trung tâm điều hành bảo mật (SOC) trong tương lai bằng…
Ransomware đã thống trị tin tức trong hai năm qua. Hầu hết mọi người đều nhận thức rõ rằng các cuộc tấn công…