webdev:yii2:controllers
Inhaltsverzeichnis
Controllers
- Controller
MyFirstController–> /my-frist-controller
Camel Case wird in Bindestrich und Kleinbuchstaben umgewandelt
Action
Funktion action<WHAT> bildet die Seite WHAT
- Rückgabetyp String –> zeigt den Text an
- Rückgabetyp view –> geht durch Template Engine
$this→render(view:'name') - Views sind im gleichnamigen Ordner wie der Controller unter /views abgelegt (/view/name gem. obigem Bsp.)
Behaviors
public function behaviors() { return [ 'access' => [ 'class' => AccessControl::class, 'only' => ['logout'], 'rules' => [ [ 'actions' => ['logout'], 'allow' => true, 'roles' => ['@'], ], ], ], // verbs beziehen sich auf Aktionen 'verbs' => [ // Filter blockieren Requests basierend auf bestimmten Parameter oder verändern die Response. 'class' => VerbFilter::class, 'actions' => [ 'logout' => ['post'], ], ], ]; }
Layout anpassen
public function actionWhatever() { $this->layout = 'whatever'; // benutzt view/layouts/whatever.php als layout anstelle von main.php }
Nested Layout
- Auf übergeordneter Ebene (z.B. base.php) nur Grundlayout (Header, Footer) und
echo $content;einfügen.
Untergeordnete Ebene
<?php ... AppAsset::register($this); $this->beginContent(viewFile: '@path/to/base.php'); ?> <div> <?php echo $this->render(view: 'main'); </div> <?php $this->endContent();
webdev/yii2/controllers.txt · Zuletzt geändert: von urs
