cakephp 視圖
mvc 中的字母"v"代表視圖。視圖負(fù)責(zé)根據(jù)請求將輸出發(fā)送給用戶。 視圖類是一種加速開發(fā)過程的強(qiáng)大方式。
查看模板
cakephp 的視圖模板文件從控制器獲取數(shù)據(jù),然后呈現(xiàn)輸出,以便它可以正確地顯示給用戶。我們可以在模板中使用變量,各種控制結(jié)構(gòu)。
模板文件存儲在 src/template/ 目錄中,該目錄以使用這些文件的控制器命名,并以其對應(yīng)的操作命名。例如,products 控制器的 "view()" 操作的 view 文件通??梢栽?src/template/products/view.php 中找到。
簡而言之,控制器(productscontroller)的名稱與文件夾(products)的名稱相同,但沒有controller這個詞和名稱of 控制器(productscontroller)的動作/方法(view())與視圖文件名(view.php)相同。
查看變量
視圖變量是從控制器獲取值的變量。我們可以根據(jù)需要在視圖模板中使用任意數(shù)量的變量。我們可以使用 set() 方法將值傳遞給視圖中的變量。這些設(shè)置的變量將在您的操作呈現(xiàn)的視圖和布局中可用。以下是 set() 方法的語法。
cake\view\view::set(string $var, mixed $value)
這個方法有兩個參數(shù)- 變量的名字和 它的值。
示例
在 config/routes.php 文件中進(jìn)行更改,如下面的程序所示。
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 中創(chuàng)建一個 productscontroller.php 文件。 將以下代碼復(fù)制到控制器文件中。
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 中創(chuàng)建目錄 products,然后在該文件夾下創(chuàng)建名為 view.php 的 view 文件。將以下代碼復(fù)制到該文件中。
value of variable is: echo $product_name; ? -->
通過訪問以下 url 執(zhí)行上述示例。
http://localhost/cakephp4/template
輸出
上述 url 將產(chǎn)生以下輸出。

- CodeIgniter 安裝
- CodeIgniter 基本概念
- CodeIgniter 配置
- CodeIgniter 使用數(shù)據(jù)庫
- CodeIgniter 庫
- CodeIgniter 錯誤處理
- CodeIgniter 文件上傳
- CodeIgniter 發(fā)送電子郵件
- CodeIgniter Flashdata
- CodeIgniter 臨時數(shù)據(jù)
- CodeIgniter 常用函數(shù)
- CodeIgniter 基準(zhǔn)測試
- Laravel session
- Laravel Facades
- Laravel 契約
- Laravel CSRF保護(hù)
- Laravel 認(rèn)證
- Laravel 加密
- Laravel 哈希
- Laravel 歷史版本記錄