- 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/目錄下,該目錄以使用這些檔案的控制器的名稱命名,並以其對應的操作名稱命名。例如,Products 控制器“view()”操作的檢視檔案通常位於 src/Template/Products/view.php 中。
簡而言之,控制器的名稱(ProductsController)與資料夾的名稱(Products)相同,但沒有 Controller 字樣,而控制器的操作/方法(view())名稱(ProductsController)與檢視檔案(view.php)的名稱相同。
檢視變數
檢視變數是從控制器獲取值的變數。我們可以在檢視模板中使用任意數量的變數。我們可以使用set()方法將值傳遞給檢視中的變數。這些設定的變數將在檢視和操作呈現的佈局中都可用。以下是set()方法的語法。
Cake\View\View::set(string $var, mixed $value)
此方法接受兩個引數:變數的名稱和其值。
示例
在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) {
// 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 來執行上述示例。
https:///cakephp4/template
輸出
以上 URL 將產生以下輸出。