Các bài viết

Laravel: Bộ điều khiển laravel là gì

Trong MVC framework, chữ “C” là viết tắt của Controllers, và trong bài này chúng ta sẽ xem cách sử dụng Controllers trong Laravel. Hoạt động như lưu lượng truy cập trực tiếp giữa chế độ xem và mô hình. Trong bài viết này, chúng ta xem cách tạo và thiết lập bộ điều khiển trong Laravel.

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.

cú pháp
Route::get(‘base URI’,’controller@method’);
thí dụ

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.

Phần mềm trung gian điều khiể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.

Chỉ định phần mềm trung gian cho tuyến đường
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ơ.

Phân công phần mềm trung gian bên trong hàm tạo của bộ điều khiển
<?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.

thí dụ

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 .

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.
<?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.

thí dụ

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ẫnHoạt độngTên tuyến đường
GET/ mychỉ sốcủa tôi.chỉ số
GET/của tôi/tạotạomy.create
POST/ myhàngmy.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ửachỉnh sửacủa tôi.edit
PUT / PATCH/tôi của tôi}cập nhậtcủa tôi.update
DELETE/tôi của tôi}phá hủycủ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.

URLMô tảlối ra
http://localhost:8000/myThực thi phương thức chỉ mục của MyController.phpchỉ số
http://localhost:8000/my/createThực thi phương thức tạo của MyController.phpcreare
http://localhost:8000/my/1Thực thi phương thức show của MyController.phphiển thị
http://localhost:8000/my/1/editThực thi phương thức chỉnh sửa của MyController.phpchỉnh sửa

Ercole Palmeri

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Bài viết gần đây

Cách tổ chức tốt nhất dữ liệu và công thức trong Excel để phân tích tốt hơn

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,…

14 May 2024

Kết luận tích cực cho hai dự án gây quỹ cộng đồng quan trọng của Walliance Equity: Jesolo Wave Island và Milano Via Ravenna

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…

13 May 2024

Filament là gì và cách sử dụng Laravel Filament

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…

13 May 2024

Dưới sự điều khiển của Trí tuệ nhân tạo

«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ư ở…

10 May 2024

Trí tuệ nhân tạo mới của Google có thể mô hình hóa DNA, RNA và "tất cả các phân tử của sự sống"

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…

9 May 2024

Khám phá kiến ​​trúc mô-đun của Laravel

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. Ở đó…

9 May 2024

Cisco Hypershield và việc mua lại Splunk Kỷ nguyên bảo mật mới bắt đầu

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…

8 May 2024

Ngoài khía cạnh kinh tế: chi phí không rõ ràng của ransomware

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…

6 May 2024

Đọc Đổi mới bằng ngôn ngữ của bạn

Bản tin đổi mới
Đừng bỏ lỡ những tin tức quan trọng nhất về đổi mới. Đăng ký để nhận chúng qua email.

Theo chúng tôi