 
- CakePHP 教程
- CakePHP - 主页
- CakePHP - 概述
- CakePHP - 安装
- CakePHP - 文件夹结构
- CakePHP - 项目配置
- CakePHP - 路由
- CakePHP - 控制器
- CakePHP - 视图
- CakePHP - 扩展视图
- CakePHP - 查看元素
- CakePHP - 查看活动
- CakePHP - 使用数据库
- CakePHP - 查看记录
- CakePHP - 更新记录
- CakePHP - 删除一条记录
- CakePHP - 服务
- CakePHP - 错误和异常处理
- CakePHP - 日志记录
- CakePHP - 表单处理
- CakePHP - 国际化
- CakePHP - 会话管理
- CakePHP - Cookie 管理
- CakePHP - 安全性
- CakePHP - 验证
- CakePHP - 创建验证器
- CakePHP - 分页
- CakePHP - 日期和时间
- CakePHP - 文件上传
- CakePHP 有用资源
- CakePHP - 快速指南
- CakePHP - 有用的资源
- CakePHP - 讨论
CakePHP - 视图
MVC 中的字母“V”代表视图。视图负责根据请求将输出发送给用户。查看类是加快开发过程的有效方法。
查看模板
CakePHP 的视图模板文件从控制器获取数据,然后渲染输出,以便可以正确地向用户显示。我们可以在模板中使用变量、各种控制结构。
模板文件存储在src/Template/中,该目录以使用这些文件的控制器命名,并以其对应的操作命名。例如,产品控制器的“view()”操作的视图文件通常可以在 src/Template/Products/view.php 中找到。
简而言之,控制器 (ProductsController) 的名称与文件夹 (Products) 的名称相同,但没有单词 Controller,并且控制器 (ProductsController) 的操作/方法 (view()) 的名称与视图文件(view.php)。
查看变量
视图变量是从控制器获取值的变量。我们可以在视图模板中使用任意数量的变量。我们可以使用set()方法将值传递给视图中的变量。这些设置的变量将在您的操作呈现的视图和布局中可用。以下是set()方法的语法。
Cake\View\View::set(string $var, mixed $value)
该方法采用两个参数 -变量的名称及其值。
例子
在config/routes.php文件中进行更改,如以下程序所示。
配置/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) {
   // Register scoped middleware for in scopes.
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   $builder->connect('template',['controller'=>'Products','action'=>'view']);
   $builder->fallbacks();
});
在src/Controller/ProductsController.php创建一个ProductsController.php文件。将以下代码复制到控制器文件中。
src/Controller/ProductsController.php
<?php
declare(strict_types=1);
namespace App\Controller;
use Cake\Core\Configure;
use Cake\Http\Exception\ForbiddenException;
use Cake\Http\Exception\NotFoundException;
use Cake\Http\Response;
use Cake\View\Exception\MissingTemplateException;
class ProductsController extends AppController {
public function view(){
      $this->set('Product_Name','XYZ');
   }
}
在src/Template处创建一个 Products 目录,并在该文件夹下创建一个名为 view.php 的视图文件。将以下代码复制到该文件中。
Value of variable is: <?php echo $Product_Name; ? >
通过访问以下 URL 来执行上述示例。
http://localhost/cakephp4/模板
输出
上面的 URL 将产生以下输出。
