cakephp 视图
mvc 中的字母"v"代表视图。视图负责根据请求将输出发送给用户。 视图类是一种加速开发过程的强大方式。
查看模板
cakephp 的视图模板文件从控制器获取数据,然后呈现输出,以便它可以正确地显示给用户。我们可以在模板中使用变量,各种控制结构。
模板文件存储在 src/template/ 目录中,该目录以使用这些文件的控制器命名,并以其对应的操作命名。例如,products 控制器的 "view()" 操作的 view 文件通常可以在 src/template/products/view.php 中找到。
简而言之,控制器(productscontroller)的名称与文件夹(products)的名称相同,但没有controller这个词和名称of 控制器(productscontroller)的动作/方法(view())与视图文件名(view.php)相同。
查看变量
视图变量是从控制器获取值的变量。我们可以根据需要在视图模板中使用任意数量的变量。我们可以使用 set() 方法将值传递给视图中的变量。这些设置的变量将在您的操作呈现的视图和布局中可用。以下是 set() 方法的语法。
cake\view\view::set(string $var, mixed $value)
这个方法有两个参数- 变量的名字和 它的值。
示例
在 config/routes.php 文件中进行更改,如下面的程序所示。
config/routes.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
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 的 view 文件。将以下代码复制到该文件中。
value of variable is: echo $product_name; ? -->
通过访问以下 url 执行上述示例。
http://localhost/cakephp4/template
输出
上述 url 将产生以下输出。
- CodeIgniter 安装
- CodeIgniter 基本概念
- CodeIgniter 配置
- CodeIgniter 使用数据库
- CodeIgniter 库
- CodeIgniter 错误处理
- CodeIgniter 文件上传
- CodeIgniter 发送电子邮件
- CodeIgniter Flashdata
- CodeIgniter 临时数据
- CodeIgniter 常用函数
- CodeIgniter 基准测试
- Laravel session
- Laravel Facades
- Laravel 契约
- Laravel CSRF保护
- Laravel 认证
- Laravel 加密
- Laravel 哈希
- Laravel 历史版本记录