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 將產生以下輸出。

Variables
廣告

© . All rights reserved.