CakePHP-ビュー

MVCの文字「V」はビュー用です。ビューは、要求に基づいてユーザーに出力を送信する責任があります。View Classes 開発プロセスをスピードアップするための強力な方法です。

テンプレートを表示

CakePHPのViewTemplatesファイルは、コントローラーからデータを取得し、出力をレンダリングして、ユーザーに適切に表示できるようにします。テンプレートでは、変数やさまざまな制御構造を使用できます。

テンプレートファイルはに保存されます src/Template/、ファイルを使用するコントローラーにちなんで名付けられ、対応するアクションにちなんで名付けられたディレクトリ内。たとえば、View製品コントローラーのファイル “view()” アクションは、通常src / Template / Products /view.phpにあります。

要するに、コントローラー(ProductsController)の名前はフォルダー(Products)の名前と同じですが、コントローラーという単語がなく、コントローラー(ProductsController)のアクション/メソッド(view())の名前はの名前と同じです。ビューファイル(view.php)。

変数を表示する

ビュー変数は、コントローラーから値を取得する変数です。ビューテンプレートでは、必要な数の変数を使用できます。使用できますset()ビュー内の変数に値を渡すメソッド。これらの設定変数は、アクションがレンダリングするビューとレイアウトの両方で使用できます。以下は、の構文です。set() 方法。

Cake\View\View::set(string $var, mixed $value)

このメソッドは2つの引数を取ります- the name of the variable そして its 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();
});

作成する ProductsController.php でファイル src/Controller/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');
   }
}

でディレクトリProductsを作成します src/Template そのフォルダの下に作成します Viewview.phpというファイル。そのファイルに次のコードをコピーします。

Value of variable is: <?php echo $Product_Name; ? >

次のURLにアクセスして、上記の例を実行します。

http:// localhost / cakephp4 / template

出力

上記のURLは、次の出力を生成します。