Benutzer-Werkzeuge

Webseiten-Werkzeuge


webdev:yii2

Yii2

Installation

Benötigt XAMPP o.ä. und Composer.

Yii2 Installation

  • Basic Version: Single application in single folder
  • Advanced: Two applications in single folder (frontend & backend), herunterscrollen…

Hier Basic.

php ~/composer.phar create-project --prefer-dist yiisoft/yii2-app-basic yii2-test/

Laut composer help create-project werden auch dev Libs installiert. (Unterdrücken mit –no-dev)

Für den Debug Modus muss das Verzeichnis runtime/debug schreibbar sein.

Templates

  • $this→head() inkludiert CSS Referenzen gemäss Assets Abhängigkeiten
  • Yii::$app referenziert auf das App Objekt. Variablen können über die Konfiguration angepasst werden, z.B. $app→language, $app→components, usw.

Class yii\bootstrap\NavBar

https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap/doc/api/2.0/yii-bootstrap-navbar

main.php
NavBar::begin([
        'brandLabel' => Yii::$app->name, // Name der Anwendung
        'brandUrl' => Yii::$app->homeUrl, // URL der Anwendung
        'options' => ['class' => 'navbar-expand-md navbar-dark bg-dark fixed-top'],
	'innerContainerOptions' => ['class' => 'container-float w-100'], // normal wird inner Container mit der class 'container' ausgegeben
	'renderInnerContainer' => false, // innerer Container nicht ausgeben
]);

Class yii\bootstrap\Nav

https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap/doc/api/2.0/yii-bootstrap-nav

/* Wird 'item' definiert, wird ein Untermenü generiert. */
/* Externe URL muss als String definiert werden. Array wird gemäss urlManager in die eingestellte Form gebracht. */
/* options betrifft den "äusseren" li-Tag, mit linkOptions können zusätzliche Parameter des 'a'-Tag definiert werden */
[
	'label' => 'ELGO',
	'options' => ['class' => 'ms-auto'], 
	'items' => [
		['label' => 'Web', 'url' => 'https://www.elgo.li', 'linkOptions' => ['target' => '_blank'] ],
		['label' => 'Configurator', 'url' => 'https://configurator.elgo.li', 'linkOptions' => ['target' => '_blank']],
	]
],

Tools

  • yii\helpers\ArrayHelper::merge Fügt mehrere Arrays zusammen, wobei spätere Werte die früheren überschreiben
  • Html::encode() übernimmt die HTML Codierung eines Strings
  • \yii\helpers\Url::to(['/site/logout']); wandelt die Url gemäss urlManager um. Wenn nicht das Nav Widget verwendet wird, müssen URLs entsprechend ausgegeben werden

Konfiguration

Tabellen Präfix

Migrations

Der Tabellenpräfix sollte vorher gesetzt werden!

php yii migrate/history

Nun ist die Tabelle fürs Tracking vorhanden.

Migrierung einer vordefinierten Migration mit Argument -migrationPath:

php yii migrate --migrationPath=@yii/rbac/migrations

Migration für Tabelle erstellen

php yii migrate/create create_videos_table --fields="id:string(16):notNull,title:string(32) ... created_by:integer(11):foreignKey(user)"
webdev/yii2.txt · Zuletzt geändert: von urs