CakePHP - Öğeleri Görüntüle
Web sayfalarının belirli bölümleri birden çok web sayfasında, ancak farklı yerlerde tekrarlanır. CakePHP, tekrarlanan bu parçaları tekrar kullanmamıza yardımcı olabilir. Bu yeniden kullanılabilir parçalaraElements - help box, extra menu, vb. Bir öğe temelde bir mini-view. Değişkenleri elemanlarda da geçirebiliriz.
Cake\View\View::element(string $elementPath, array $data, array $options =[]
Yukarıdaki işlevin aşağıdaki gibi üç bağımsız değişkeni vardır -
İlk argüman, şablon dosyasının adıdır. /src/Template/element/ Klasör.
İkinci bağımsız değişken, işlenmiş görünüme sunulacak veri dizisidir.
Üçüncü argüman, seçenekler dizisi içindir. örneğin önbellek.
3 argümandan ilki zorunlu, geri kalanı isteğe bağlıdır.
Misal
Adresinde bir eleman dosyası oluşturun src/Template/element dizin aradı helloworld.php. Aşağıdaki kodu o dosyaya kopyalayın.
src / Şablon / element / helloworld.php
<p>Hello World</p>
Bir klasör oluşturun Elems -de src/Template ve bu dizinin altında bir Viewindex.php adlı dosya. Aşağıdaki kodu o dosyaya kopyalayın.
src / Şablon / Elems / index.php
Element Example: <?php echo $this->element('helloworld'); ?>
Değişiklik Yapın config/routes.php dosya aşağıdaki programda gösterildiği gibi.
config / route.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();
});
Oluşturduğunuz bir ElemsController.php dosya src/Controller/ElemsController.php. Aşağıdaki kodu denetleyici dosyasında kopyalayın.
src / Controller / ElemsController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class ElemsController extends AppController{
public function index(){
}
}
?>
Aşağıdaki URL http: // localhost / cakephp4 / element-example adresini ziyaret ederek yukarıdaki örneği yürütün.
Çıktı
Yürütme üzerine, yukarıdaki URL size aşağıdaki çıktıyı verecektir.
