MVC の文字「V」はビューを表します。ビューは、リクエストに基づいて出力をユーザーに送信する責任があります。 クラスの表示は、開発プロセスをスピードアップする強力な方法です。
CakePHP の View Templates ファイルは、コントローラーからデータを取得し、ユーザーに適切に表示できるように出力をレンダリングします。テンプレートでは変数やさまざまな制御構造を使用できます。
テンプレート ファイルは、ファイルを使用するコントローラーにちなんで名付けられたディレクトリ内の src/Template/ に保存され、対応するアクションにちなんで名付けられます。たとえば、Products コントローラーの “view()” アクションの View ファイルは、通常、src/Template/Products/view.php.
にあります。つまり、コントローラーの名前 (ProductsController) はフォルダーの名前 (Products) と同じですが、Controller という単語がなく、コントローラー (ProductsController) のアクション/メソッドの名前 (view()) は次と同じです。ビューファイルの名前(view.php)。
ビュー変数はコントローラーから値を取得する変数です。ビュー テンプレートでは変数を必要なだけ使用できます。 set() メソッドを使用して、ビュー内の変数に値を渡すことができます。これらの設定変数は、アクションがレンダリングするビューとレイアウトの両方で使用できます。以下は、set() メソッドの構文です。
Cake\View\View::set(string $var, mixed $value)
このメソッドは 2 つの引数を取ります - 変数の名前 と その値。
次のプログラムに示すように、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 ビューの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。