首頁 > 後端開發 > php教程 > CakePHP 視圖

CakePHP 視圖

PHPz
發布: 2024-09-10 17:25:25
原創
933 人瀏覽過

MVC 中的字母「V」代表視圖。視圖負責根據請求將輸出發送給使用者。 查看類別是加快開發過程的強大方法。

查看範本

CakePHP 的視圖範本檔案從控制器取得數據,然後渲染輸出,以便可以正確地向使用者顯示。我們可以在模板中使用變數、各種控制結構。

範本檔案儲存在 src/Template/ 中,該目錄以使用該檔案的控制器命名,並以其對應的操作命名。例如,產品控制器的 “view()” 操作的 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 檔案中進行更改,如下列程式所示。

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 的 View 檔案。將以下程式碼複製到該文件中。

Value of variable is: <?php echo $Product_Name; ? >
登入後複製

透過造訪以下 URL 來執行上述範例。

http://localhost/cakephp4/template

輸出

上面的 URL 將產生以下輸出。

CakePHP 視圖

以上是CakePHP 視圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板