Controller là trung tâm điều khiển quan trọng của mọi PHP Framework. Các dữ liệu sẽ đi qua Controller và xử lý. Nó là trung gian giữa Model và Views. Vậy trong Cakephp 4 Controller sẽ sử dụng như thế nào? Hãy tìm hiểu qua bài viết dưới đây.
Mở thử mục src/Controller/
Tại đây bạn sẽ tạo ra một file là ArticlesController.php
để thực hành
<?php namespace AppController; use CakeDatasourceConnectionManager; class ArticlesController extends AppController { public function index() { // } }
[alert-box text=’Tất cả các Controller sẽ kế thừa từ AppController.‘]
Lấy dữ liệu từ Database
Data sẽ lấy trực tiếp mà không cần qua Model
public function index() { $connection = ConnectionManager::get('default'); $data = $connection->execute('SELECT * FROM admin')->fetchAll('assoc'); var_dump($data); //$this->set(compact('posts')); }
Để lấy được dữ liệu thì bắt buộc bạn phải kết nối cơ sở dữ liệu (Xem lại bài 1).
Lấy dữ liệu từ Model:
public function someMethod() { $this->loadModel('Articles'); $resultset = $this->Articles->find()->all(); foreach ($resultset as $row) { var_dump('<pre>'); print_r($row); var_dump('</pre>'); } }
Truyền dữ liệu vào Views
Sử dụng:
$this->set(compact('posts')); Hoặc $this->set('article', $article);
Bài viết về Controller trong Cakephp 4 không quá khó phải không nào. Quy trình hoạt động của PHP Framework tuy cách viết có hơi khác nhau một chút nhưng đều tương tự nhau.