目录

CakePHP - Views

MVC中的字母“V”用于视图。 视图负责根据请求将输出发送给用户。 View Classes是加速开发过程的有效方法。

查看模板

CakePHP的View Templates文件具有默认扩展名。 ctp (CakePHP模板)。 这些模板从控制器获取数据,然后渲染输出,以便可以正确地显示给用户。 我们可以在模板中使用变量,各种控制结构。

模板文件存储在src/Template/ ,以使用这些文件的控制器命名的目录中存储,并以与其对应的操作命名。 例如,产品控制器的“view()”操作的View文件通常位于src/Template/Products/view.ctp中。

简而言之,控制器的名称(ProductsController)与文件夹(Products)的名称相同,但没有控制器和控制器(ProductsController)的控制器和操作/方法(view())的名称相同。查看文件(view.ctp)。

查看变量

视图变量是从控制器获取值的变量。 我们可以根据需要在视图模板中使用尽可能多的变量。 我们可以使用set()方法将值传递给视图中的变量。 这些设置变量将在您的操作呈现的视图和布局中可用。 以下是set()方法的语法。

语法 (Syntax)

Cake\View\View::set(string $var, mixed $value)

此方法有两个参数 - the name of the variable its value

例子 (Example)

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

config/routes.php

<?php
   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;
   Router::defaultRouteClass('DashedRoute');
   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('template',['controller'=>'Products','action'=>'view']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

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

src/Controller/ProductsController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   class ProductsController extends AppController{
      public function view(){
         $this->set('Product_Name','XYZ');
      }
   }
?>

src/Template和该文件夹下创建目录产品创建一个名为view.ctp.View文件view.ctp. 复制该文件中的以下代码。

src/Template/Products/view.ctp

Value of variable is: <?php echo $Product_Name; ?>

通过访问以下URL执行上述示例。

http://localhost:85/CakePHP/template

输出 (Output)

上面的URL将产生以下输出。

制品
↑回到顶部↑
WIKI教程 @2018