📅  最后修改于: 2020-10-26 05:11:14             🧑  作者: Mango
网页的某些部分在多个网页上重复,但是在不同的位置。 CakePHP可以帮助我们重用这些重复的部分。这些可重用的部分称为“元素-帮助框,附加菜单等”。元素基本上是一个迷你视图。我们还可以在元素中传递变量。
Cake\View\View::element(string $elementPath, array $data, array $options =[]
上面的函数有三个参数,如下所示:
第一个参数是/ src / Template / element /文件夹中模板文件的名称。
第二个参数是可用于渲染视图的数据数组。
第三个参数用于选项数组。例如缓存。
在这三个参数中,第一个是强制性的,而其余则是可选的。
在src / Template / element目录中创建一个名为helloworld.php的元素文件。将以下代码复制到该文件中。
Hello World
在src / Template处创建一个Elems文件夹,并在该目录下创建一个名为index.php的View文件。将以下代码复制到该文件中。
Element Example: element('helloworld'); ?>
如以下程序所示,在config / routes.php文件中进行更改。
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();
});
在src / Controller / ElemsController.php中创建一个ElemsController.php文件。将以下代码复制到控制器文件中。
通过访问以下URL http:// localhost / cakephp4 / element-example执行上述示例
执行后,上述URL将为您提供以下输出。