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は、次の出力を生成します。