Bộ điều khiển như tên chỉ ra điều khiển ứng dụng. Nó hoạt động như một cầu nối giữa các mô hình và quan điểm.
Bộ điều khiển xử lý dữ liệu yêu cầu, đảm bảo rằng các mô hình chính xác được gọi và phản hồi hoặc chế độ xem đúng được hiển thị.
Tên lớp Trình điều khiển ở dạng số nhiều, Vỏ bọc lạc đà và kết thúc trong Trình điều khiển - Bài viết Trình điều khiển .
Lớp AppConttroller là lớp cha của tất cả các bộ điều khiển của ứng dụng. Lớp này mở rộng lớp Trình điều khiển của Khóa học lập trình PHP. AppControll được định nghĩa tại src / Controller / AppControll.php . Các tập tin có chứa mã sau đây.
Các thuộc tính và phương thức được tạo trong AppContoder sẽ có sẵn trong tất cả các bộ điều khiển mở rộng nó.
Phương thức khởi tạo () sẽ được gọi ở cuối hàm tạo của bộ điều khiển để tải các thành phần.
Các phương thức trong lớp trình điều khiển được gọi là Hành động. Các hành động có trách nhiệm gửi phản hồi thích hợp cho trình duyệt / người dùng thực hiện yêu cầu.
Chế độ xem được hiển thị bằng tên của hành động, nghĩa là tên của phương thức trong bộ điều khiển.
Khóa học lập trình PHP Chuyển hướng
Để chuyển hướng người dùng sang một hành động khác của cùng một bộ điều khiển, chúng ta có thể sử dụng phương thức setAction (). Sau đây là cú pháp của phương thức setAction () -
Cú pháp
Đoạn mã sau sẽ chuyển hướng người dùng đến hành động lập chỉ mục của cùng một bộ điều khiển.
Ví dụ sau đây cho thấy việc sử dụng phương pháp trên.
Thí dụ
Thực hiện thay đổi trong tệp config / Rout.php như trong chương trình sau.
cấu hình / tuyến.php
src / Trình điều khiển / RedirectsControll.php
src / Mẫu / Chuyển hướng / hành động1.ctp
Thực hiện ví dụ trên bằng cách truy cập URL sau.
http: // localhost: 85 / PHP / redirect-controller
Khi thực hiện, bạn sẽ nhận được đầu ra sau.
Bây giờ, hãy truy cập URL sau - http: // localhost: 85 / PHP / redirect-controller2
URL trên sẽ cung cấp cho bạn đầu ra sau.
Đang tải mô hình
Trong Khóa học lập trình PHP , một mô hình có thể được tải bằng phương thức loadModel (). Sau đây là cú pháp cho phương thức loadModel ().
Đối số thứ hai là loại kho lưu trữ để tải.
Thí dụ
Nếu bạn muốn tải mô hình Bài viết trong bộ điều khiển, thì nó có thể được tải bằng cách viết dòng sau trong hành động của bộ điều khiển.
Bộ điều khiển xử lý dữ liệu yêu cầu, đảm bảo rằng các mô hình chính xác được gọi và phản hồi hoặc chế độ xem đúng được hiển thị.
![]() |
| Khóa học lập trình PHP |
Các phương thức trong lớp của bộ điều khiển được gọi là các hành động . Mỗi bộ điều khiển tuân theo các quy ước đặt tên.
Tên lớp Trình điều khiển ở dạng số nhiều, Vỏ bọc lạc đà và kết thúc trong Trình điều khiển - Bài viết Trình điều khiển .
Trình điều khiển ứng dụng
Lớp AppConttroller là lớp cha của tất cả các bộ điều khiển của ứng dụng. Lớp này mở rộng lớp Trình điều khiển của Khóa học lập trình PHP. AppControll được định nghĩa tại src / Controller / AppControll.php . Các tập tin có chứa mã sau đây.
<?php namespace App\Controller; use Cake\Controller\Controller; use Cake\Event\Event; class AppController extends Controller{ public function initialize(){ parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Flash'); } public function beforeRender(Event $event){ if (!array_key_exists('_serialize', $this->viewVars) && in_array($this->response->type(), ['application/json', application/xml'])) { $this->set('_serialize', true); } } }AppContoder có thể được sử dụng để tải các thành phần sẽ được sử dụng trong mọi bộ điều khiển của ứng dụng của bạn.
Các thuộc tính và phương thức được tạo trong AppContoder sẽ có sẵn trong tất cả các bộ điều khiển mở rộng nó.
Phương thức khởi tạo () sẽ được gọi ở cuối hàm tạo của bộ điều khiển để tải các thành phần.
Thao tác điều khiển
Các phương thức trong lớp trình điều khiển được gọi là Hành động. Các hành động có trách nhiệm gửi phản hồi thích hợp cho trình duyệt / người dùng thực hiện yêu cầu.
Chế độ xem được hiển thị bằng tên của hành động, nghĩa là tên của phương thức trong bộ điều khiển.
class RecipesController extends AppController{ public function view($id){ // Action logic goes here. } public function share($customerId, $recipeId){ // Action logic goes here. } public function search($query){ // Action logic goes here. } }Như bạn có thể thấy trong ví dụ trên, RecipesContoder có 3 hành động - Xem, Chia sẻ và Tìm kiếm .
Khóa học lập trình PHP Chuyển hướng
Để chuyển hướng người dùng sang một hành động khác của cùng một bộ điều khiển, chúng ta có thể sử dụng phương thức setAction (). Sau đây là cú pháp của phương thức setAction () -
Cú pháp
Cake\Controller\Controller::setAction($action, $args...)
Đoạn mã sau sẽ chuyển hướng người dùng đến hành động lập chỉ mục của cùng một bộ điều khiển.
$this->setAction('index');
Ví dụ sau đây cho thấy việc sử dụng phương pháp trên.
Thí dụ
Thực hiện thay đổi trong tệp config / Rout.php như trong chương trình sau.
cấu hình / tuyến.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/redirectcontroller',[' controller'=>'Redirects','action'=>'action1']); $routes->connect('/redirectcontroller2',[' controller'=>'Redirects','action'=>'action2']); $routes->fallbacks('DashedRoute'); }); Plugin::routes();Tạo một tệp RedirectsControll.php tại src / Controller / RedirectsControll.php. Sao chép mã sau trong tệp điều khiển.
src / Trình điều khiển / RedirectsControll.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\ORM\TableRegistry; use Cake\Datasource\ConnectionManager; class RedirectsController extends AppController{ public function action1(){ } public function action2(){ echo "redirecting from action2"; $this->setAction('action1'); } } ?>Tạo thư mục Chuyển hướng tại src / Mẫu và trong thư mục đó tạo tệp Xem có tên là action1.ctp . Sao chép mã sau trong tập tin đó.
src / Mẫu / Chuyển hướng / hành động1.ctp
This is an example of how to redirect within controller.
Thực hiện ví dụ trên bằng cách truy cập URL sau.
http: // localhost: 85 / PHP / redirect-controller
Đầu ra
Khi thực hiện, bạn sẽ nhận được đầu ra sau.
Bây giờ, hãy truy cập URL sau - http: // localhost: 85 / PHP / redirect-controller2
URL trên sẽ cung cấp cho bạn đầu ra sau.
Đang tải mô hình
Trong Khóa học lập trình PHP , một mô hình có thể được tải bằng phương thức loadModel (). Sau đây là cú pháp cho phương thức loadModel ().
Cake\Controller\Controller::loadModel(string $modelClass, string $type)
Có hai đối số cho hàm trên
Đối số đầu tiên là tên của lớp mô hình.Đối số thứ hai là loại kho lưu trữ để tải.
Thí dụ
Nếu bạn muốn tải mô hình Bài viết trong bộ điều khiển, thì nó có thể được tải bằng cách viết dòng sau trong hành động của bộ điều khiển.
$this->loadModel('Articles');

Không có nhận xét nào:
Đăng nhận xét