Bộ điều khiển php

Trong bài trước chúng ta đã sơ lược về mô hình MVC, bạn cũng đã làm quen với Route và View. Trong bài viết hôm nay, bạn hãy cùng tôi tìm hiểu về Controller, vậy Laravel Controller có phải là Controller trong mô hình MVC, nó được ứng dụng vào mục đích gì?

Bộ điều khiển php
Bộ điều khiển php

Bộ điều khiển php
Bộ điều khiển php

Bộ điều khiển Laravel

Chúng ta cùng xem định nghĩa Laravel Controller trên tài liệu chính thức của Laravel. Thay vì định nghĩa tất cả các đoạn logic nghiệp vụ cho yêu cầu trong các file route dưới dạng Closure, chúng ta sẽ tổ chức nó vào các class Controller. Bộ điều khiển giúp nhóm logic nghiệp vụ cho yêu cầu liên quan vào trong một lớp. Bộ điều khiển được lưu trong thư mục ứng dụng/Http/Bộ điều khiển. Vì vậy, chúng ta có thể thấy Laravel Controller mang phong cách vui nhộn của Controller trong MVC, tuy nhiên nó được phân lớp nhiều hơn, giúp xây dựng ứng dụng tốt hơn

Khả năng diễn ra không đúng, bạn không cần quan tâm sâu bên trong, chỉ cần nhớ Controller trong Laravel là các lớp PHP nằm trong thư mục app/Http/Controllers, về chức năng chúng ta sẽ tìm hiểu dưới đây. Bộ điều khiển này có thể tạo ra thủ công bằng cách tạo tệp hoặc thông qua câu lệnh thủ công

php artisan make:controller AboutController --resource

Ở đây, AboutController là tên của bộ điều khiển, tham số –resource là tùy chọn, tham số này sẽ tạo ra bộ điều khiển với đầy đủ các phương thức cần thiết như lập chỉ mục, tạo, lưu trữ, cập nhật…

  Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

  Cách sử dụng Laravel với Socket. IO

Xem thêm tuyển dụng Laravel nhiều vị trí trên TopDev

Một lưu ý nữa là các bộ điều khiển tệp được tạo ra này sẽ có không gian tên theo đường dẫn thư mục đến bộ điều khiển. Ví dụ đường dẫn thư mục là app->Http->Controllers thì không gian tên ở đây sẽ là



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}

Nhờ đó, Composer với autoloading có thể tải lớp chính xác này ngay khi bạn tạo ra nó. Chúng ta sẽ tìm hiểu về cách sử dụng Controller

Bạn có nhớ chúng ta đã khai báo đường dẫn về trong các tuyến đường/web. php trong bài trước

Route::get('about', function () {
    return view('about');
});

Tham số thứ hai của phương thức get() có thể là một hàm ở dạng Closure, bên ngoài nó có thể là một chuỗi bao gồm tên của bộ điều khiển và tên của phương thức trong bộ điều khiển cách nhau bởi các ký tự @

Route::get('about', 'AboutController@index');

Nếu bạn thực hiện luôn sẽ gặp lỗi "Chỉ mục phương thức không tồn tại", do chỉ mục phương thức không tồn tại trong AboutController. Add the method index into



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{
    public function index()
    {
      return view('about');
    }
}

Quay lại trang http. //máy chủ cục bộ. 8000/about Mọi thứ hoạt động bình thường giống như khi chúng ta sử dụng kiểu Đóng

Trong phương thức của bộ điều khiển, chúng tôi có thể thực hiện rất nhiều công việc như gọi đến một api ở bên ngoài, thực hiện truy vấn cơ sở dữ liệu hoặc trả về một chế độ xem như ví dụ ở trên

Trong khuôn khổ MVC, chữ 'C' là viết tắt của Controller. 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 trình 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ở lệnh nhắc 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 phương thức khởi tạo đơn giản khi chúng ta truyền các đối số - đơn giản. Nếu bạn không muốn tạo một phương thức khởi động đơn giản, bạn có thể đơn giản bỏ qua các đối số. Phương thức khởi 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ã hóa cơ bản đã được thực hiện cho bạn và bạn có thể thêm tùy chỉnh mã hóa của mình. Bộ điều khiển đã tạo có thể được gọi từ 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 kết quả như sau

Bộ điều khiển php

Bước 3 - Bạn có thể xem 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

________số 8

Ở đây chúng tôi đang gán phần mềm trung gian xác thực cho UserController trong hồ sơ trực tuyến

Gán phần mềm trung gian trong phương thức khởi tạo của Bộ điều khiển

middleware('auth');
   }
}

Ở đây chúng ta đang gán phần mềm trung gian auth theo cách sử dụng phương thức phần mềm trung gian trong phương thức khởi tạo UserController

Thí dụ

Bước 1 - Thêm các dòng mã sau vào tệp app / Http / route. php và lưu nó

tuyến đường. php



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}
0

Bước 2 - Tạo phần mềm trung gian gọi là FirstMiddleware bằng cách thực thi dòng mã sau



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}
1

Bước 3 - Thêm 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



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}
2

Bước 4 - Tạo phần mềm trung gian có tên là SecondMiddleware bằng cách thực hiện lệnh sau



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}
3

Bước 5 - Thêm 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



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class AboutController extends Controller
{

}
4

Bước 6 - Tạo bộ điều khiển có tên là UserController bằng cách thực hiện dòng sau

php artisan make:controller UserController --plain

Bước 7 - Sau khi thực hiện thành công URL, bạn sẽ nhận được kết quả sau

Bộ điều khiển php

Bước 8 - Sao chép mã sau vào tệp app / Http / UserController. php

ứng dụng/Http/UserController. php

Route::get(‘base URI’,’controller@method’);
1

Bước 9 - Bây giờ khởi động 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

Route::get(‘base URI’,’controller@method’);
2

Bước 10 - Truy cập URL sau

Route::get(‘base URI’,’controller@method’);
3

Bước 11 - Đầu ra sẽ xuất hiện như trong hình sau

Bộ điều khiển php

Bộ điều khiển khôi phục tài nguyên

Thông thường, trong khi tạo một ứng dụng, chúng ta cần thực hiện các thao tác CRUD (Tạo, Đọc, Cập nhật, Xóa). Laravel làm cho công việc này trở nên dễ dàng 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 CRUD hoạt động. Bạn cũng có thể đăng ký tuyến đường duy nhất cho tất cả các phương thức trong tuyến đường. 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’);
4

Bước 2 - Thêm mã sau vào

tệp ứng dụng / http / Bộ điều khiển / MyController. php

ứng dụng/Http/Bộ điều khiển/MyController. php

Route::get(‘base URI’,’controller@method’);
5

Bước 4 - Bây giờ chúng tôi đang đăng ký tất cả các phương thức của MyController bằng cách đăng ký một bộ điều khiển với tài nguyên. Dưới đây là các bảng 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 ra . cửa hàng . chỉnh sửa . cập nhật . hủy hoại

Bước 5 - Thử thực hiện 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 chỉ mục của MyController. php lục mục . // máy chủ cục bộ. 8000 / my / create Thực thi phương thức tạo MyController. php create ra . // máy chủ cục bộ. 8000 / my / 1 Thực hiện hiển thị phương thức của MyController. php bieu diễn đàn . // 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 php

Bộ điều khiển ngầm định

Bộ điều khiển ngầm định cho phép bạn xác định một tuyến đường 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 định tuyến tệp. php with route method. bộ điều khiển như hình dưới đây

Route::get(‘base URI’,’controller@method’);
6

Thay 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 HTTP như get hoặc post. Nếu bạn bắt đầu nó với get, nó sẽ chỉ xử lý yêu cầu nhận được và nếu nó bắt đầu bằng bài đăng thì nó sẽ xử lý yêu cầu đăng. Sau khi động từ HTTP, 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 trường hợp tiêu đề của URI

Thí dụ

Bước 1 - Thực hiện lệnh dưới đây để 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’);
7

Bước 2 - Sau khi thực hiện thành công bước 1, bạn sẽ nhận được kết quả sau

Bộ điều khiển php

Bước 3 - Sao chép mã sau vào

ứng dụng tệp / http / Bộ điều khiển / ImplicitController. php

ứng dụng / http / Bộ điều khiển / ImplicitController. php

Route::get(‘base URI’,’controller@method’);
8

Xây dựng tiêm

Vùng chứa dịch vụ Laravel được sử dụng để phân tích tất cả các bộ điều khiển Laravel. Do đó, bạn có thể gõ bất kỳ phụ thuộc nào mà bộ điều khiển của bạn có thể cần trong phương thức khởi động của nó. Các phần 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 mã sau vào tệp app / Http / lines. php

ứng dụng/Http/tuyến đường. php

Route::get(‘base URI’,’controller@method’);
9

Bước 2 - Thêm mã sau vào

ứng dụng tệp / http / Bộ điều khiển / ImplicitController. php

ứng dụng / http / Bộ điều khiển / ImplicitController. php

php artisan make:controller UserController --plain
0

Bước 3 - Truy cập URL sau để kiểm tra việc tạo chức năng chèn

php artisan make:controller UserController --plain
1

Bước 4 - Đầu ra sẽ xuất hiện như trong hình sau

Bộ điều khiển php

Phương pháp tiêm

Ngoài việc chèn chức năng tạo, bạn cũng có thể nhập - gợi ý các phụ thuộc vào các phương thức hành động của bộ điều khiển của bạn