Bahagian tertentu halaman web diulang pada berbilang halaman web, tetapi di lokasi yang berbeza. CakePHP boleh membantu kami menggunakan semula bahagian berulang ini. Bahagian boleh guna semula ini dipanggil Elemen - kotak bantuan, menu tambahan, dsb. Elemen pada asasnya ialah pandangan mini. Kita juga boleh menghantar pembolehubah dalam elemen.
Cake\View\View::element(string $elementPath, array $data, array $options =[]
Terdapat tiga hujah untuk fungsi di atas seperti berikut −
Argumen pertama ialah nama fail templat dalam folder /src/Template/element/.
Argumen kedua ialah tatasusunan data yang akan disediakan untuk paparan yang diberikan.
Argumen ketiga adalah untuk tatasusunan pilihan. cth. cache.
Daripada 3 hujah, yang pertama adalah wajib, manakala selebihnya adalah pilihan.
Buat fail elemen di direktori src/Template/element yang dipanggil helloworld.php. Salin kod berikut dalam fail itu.
<p>Hello World</p>
Buat folder Elems di src/Template dan di bawah direktori itu buat fail View yang dipanggil index.php. Salin kod berikut dalam fail itu.
Element Example: <?php echo $this->element('helloworld'); ?>
Buat Perubahan dalam fail config/routes.php seperti yang ditunjukkan dalam program berikut.
<?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(); });
Buat fail ElemsController.php di src/Controller/ElemsController.php. Salin kod berikut dalam fail pengawal.
<?php namespace App\Controller; use App\Controller\AppController; class ElemsController extends AppController{ public function index(){ } } ?>
Laksanakan contoh di atas dengan melawati URL berikut http://localhost/cakephp4/element-example
Setelah dilaksanakan, URL di atas akan memberikan anda output berikut.
Atas ialah kandungan terperinci Elemen Paparan CakePHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!