CakePHP-查看元素



网页的某些部分在多个网页上重复,但是在不同的位置。 CakePHP可以帮助我们重用这些重复的部分。这些可重用的部分称为“元素-帮助框,附加菜单等”。元素基本上是一个迷你视图。我们还可以在元素中传递变量。

Cake\View\View::element(string $elementPath, array $data, array $options =[]

上面的函数有三个参数,如下所示:

  • 第一个参数是/ src / Template / element /文件夹中模板文件的名称。

  • 第二个参数是可用于渲染视图的数据数组。

  • 第三个参数用于选项数组。例如缓存。

在这三个参数中,第一个是强制性的,而其余则是可选的。

src / Template / element目录中创建一个名为helloworld.php的元素文件将以下代码复制到该文件中。

src / Template / element / helloworld.php

<p>Hello World</p>

src / Template处创建一个Elems文件夹,并在该目录下创建一个名为index.php的View文件。将以下代码复制到该文件中。

src / Template / Elems / index.php

Element Example: <?php echo $this-?>element('helloworld'); ?>

如以下程序所示,在config / routes.php文件中进行更改。

config / routes.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();
});

src / Controller / ElemsController.php中创建一个ElemsController.php文件将以下代码复制到控制器文件中。

src / Controller / ElemsController.php

<?php namespace App\Controller;
   use App\Controller\AppController;
   class ElemsController extends AppController{
      public function index(){
      }
   }
??>

通过访问以下URL http:// localhost / cakephp4 / element-example执行上述示例

输出

执行后,上述URL将为您提供以下输出。

元素示例

Made with ❤️ in Chengdu. Copyright reserved 2019-2022.

蜀ICP备20006366号-1