CakePHP - Elemente anzeigen
Bestimmte Teile der Webseiten werden auf mehreren Webseiten wiederholt, jedoch an verschiedenen Stellen. CakePHP kann uns helfen, diese wiederholten Teile wiederzuverwenden. Diese wiederverwendbaren Teile werden aufgerufenElements - help box, extra menu, usw. Ein Element ist im Grunde ein mini-view. Wir können auch Variablen in Elementen übergeben.
Cake\View\View::element(string $elementPath, array $data, array $options =[]
Es gibt drei Argumente für die obige Funktion:
Das erste Argument ist der Name der Vorlagendatei in der /src/Template/element/ Ordner.
Das zweite Argument ist das Datenarray, das der gerenderten Ansicht zur Verfügung gestellt werden soll.
Das dritte Argument betrifft das Array von Optionen. zB Cache.
Von den drei Argumenten ist das erste obligatorisch, während der Rest optional ist.
Beispiel
Erstellen Sie eine Elementdatei unter src/Template/element Verzeichnis aufgerufen helloworld.php. Kopieren Sie den folgenden Code in diese Datei.
src / Template / element / helloworld.php
<p>Hello World</p>
Erstellen Sie einen Ordner Elems beim src/Template und unter diesem Verzeichnis erstellen Sie eine ViewDatei namens index.php. Kopieren Sie den folgenden Code in diese Datei.
src / Template / Elems / index.php
Element Example: <?php echo $this->element('helloworld'); ?>
Nehmen Sie Änderungen in der config/routes.php Datei wie im folgenden Programm gezeigt.
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();
});
Erstelle ein ElemsController.php Datei bei src/Controller/ElemsController.php. Kopieren Sie den folgenden Code in die Controller-Datei.
src / Controller / ElemsController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class ElemsController extends AppController{
public function index(){
}
}
?>
Führen Sie das obige Beispiel aus, indem Sie die folgende URL aufrufen: http: // localhost / cakephp4 / element-example
Ausgabe
Bei der Ausführung erhalten Sie über die obige URL die folgende Ausgabe.