CakePHP - View Elements
Một số phần của trang web được lặp lại trên nhiều trang, nhưng ở các vị trí khác nhau. CakePHP có thể giúp chúng tôi sử dụng lại các phần lặp lại này. Các bộ phận có thể tái sử dụng này được gọi làElements - help box, extra menu, v.v ... Một phần tử về cơ bản là một mini-view. Chúng ta cũng có thể truyền các biến trong các phần tử.
Cake\View\View::element(string $elementPath, array $data, array $options =[]
Có ba đối số cho hàm trên như sau:
Đối số đầu tiên là tên của tệp mẫu trong /src/Template/element/ thư mục.
Đối số thứ hai là mảng dữ liệu được cung cấp cho dạng xem được kết xuất.
Đối số thứ ba dành cho mảng các tùy chọn. ví dụ: bộ nhớ cache.
Trong số 3 đối số, đối số đầu tiên là bắt buộc, trong khi các đối số còn lại là tùy chọn.
Thí dụ
Tạo một tệp phần tử tại src/Template/element thư mục được gọi là helloworld.php. Sao chép mã sau vào tệp đó.
src / Template / element / helloworld.php
<p>Hello World</p>
Tạo một thư mục Elems tại src/Template và trong thư mục đó tạo một Viewtệp có tên là index.php. Sao chép mã sau vào tệp đó.
src / Template / Elems / index.php
Element Example: <?php echo $this->element('helloworld'); ?>
Thực hiện các thay đổi trong config/routes.php như được hiển thị trong chương trình sau đây.
config / route.php
<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
$builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
'httpOnly' => true,
]));
$builder->applyMiddleware('csrf');
$builder->connect('/element-example',['controller'=>'Elems','action'=>'index']);
$builder->fallbacks();
});
Tạo ra một ElemsController.php nộp tại src/Controller/ElemsController.php. Sao chép mã sau vào tệp bộ điều khiển.
src / Controller / ElemsController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class ElemsController extends AppController{
public function index(){
}
}
?>
Thực thi ví dụ trên bằng cách truy cập URL sau http: // localhost / cakephp4 / element-example
Đầu ra
Khi thực thi, URL trên sẽ cung cấp cho bạn kết quả sau.