Benutzer-Werkzeuge

Webseiten-Werkzeuge


webdev:yii2:controllers

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