Web ページの特定の部分が複数の Web ページ上で繰り返されていますが、場所は異なります。 CakePHP は、これらの繰り返し部分を再利用するのに役立ちます。これらの再利用可能な部分は 要素 - ヘルプ ボックス、追加メニュー、 などと呼ばれます。要素は基本的に ミニビュー です。要素内で変数を渡すこともできます。
Cake\View\View::element(string $elementPath, array $data, array $options =[]
上記の関数には次の 3 つの引数があります -
最初の引数は、/src/Template/element/ フォルダー内のテンプレート ファイルの名前です。
2 番目の引数は、レンダリングされたビューで使用できるデータの配列です。
3 番目の引数はオプションの配列です。例えばキャッシュ。
3 つの引数のうち、最初の引数は必須ですが、残りはオプションです。
src/Template/element ディレクトリに helloworld.php. という名前の要素ファイルを作成します。そのファイルに次のコードをコピーします。
<p>Hello World</p>
src/Template にフォルダー Elems を作成し、そのディレクトリーの下に、index.php という名前の View ファイルを作成します。そのファイルに次のコードをコピーします。
Element Example: <?php echo $this->element('helloworld'); ?>
次のプログラムに示すように、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) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); $builder->connect('/element-example',['controller'=>'Elems','action'=>'index']); $builder->fallbacks(); });
src/Controller/ElemsController.php に ElemsController.php ファイルを作成します。 コントローラー ファイルに次のコードをコピーします。
<?php namespace App\Controller; use App\Controller\AppController; class ElemsController extends AppController{ public function index(){ } } ?>
次の URL http://localhost/cakephp4/element-example にアクセスして、上記の例を実行します
上記の URL を実行すると、次の出力が得られます。
以上がCakePHP ビュー要素の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。