Heim >Backend-Entwicklung >PHP-Tutorial >Yii Multianwendungs-Multimodul
In diesem Artikel wird YII 2.0.7 als Beispiel verwendet, um Ihnen mehr über die Multianwendung und das Multimodul von Yii zu erzählen. Freunde in Not können sich auf
Besuchen ein Blick auf Multi-Applikationen und Multi-Module. Funktionen des Moduls:
Funktionen mehrerer Anwendungen:
Unabhängige Konfigurationsdatei
Unabhängiger Domainname
Funktionen mehrerer Module:
Einheitliche Konfigurationsdatei
Einheitlicher Domainname
Wie kann man also eigentlich entscheiden, ob man Multi-Applikationen oder Multi-Module verwendet?
Für die Trennung von Front- und Backend benötigt das Backend beispielsweise einen separaten Domänennamen zur Verwaltung
Die Konfiguration mehrerer Anwendungen ist völlig unterschiedlich.
Mehrere Anwendungen erfordern mehr Domänennamenkonfigurationen, was den Preisvergleich erschwert Bei kleinen Projekten werden Domänennamen nicht unterschieden.
Der einfachste Weg ist, die erweiterte Anwendungsvorlage von Yii2 von der offiziellen Website herunterzuladen: yii-advanced-app-2.0.12.tgz. Geben Sie nach dem Herunterladen und Dekomprimieren das Verzeichnis advanced
ein und führen Sie Folgendes aus:
# Windows init.bat # Linux init
Eintragsdateien frontend
werden in den Verzeichnissen backend
und web
generiert. index.php
und frontend
stellen jeweils Frontend- und Hintergrundanwendungen dar. Die Verzeichnisstruktur darin ist dieselbe: backend
assets/ config/ controllers/ models/ runtime/ views/ web/Ausführen:
$ cd advanced/frontend/web $ php -S 0.0.0.0:8888 PHP 5.6.22 Development Server started at Sun Aug 20 21:10:28 2017 Listening on http://0.0.0.0:8888Öffnen Sie den Browser und geben Sie http ein :// 0.0.0.0:8888 kann auf die Standard-Homepage zugreifen. Es wird empfohlen, das Modell im Stammverzeichnis
abzulegen. common/models
http://www.yiichina.com/doc/g... verweisen. Beispiel: Erstellen Sie eine neue Anwendung in frontend
h5
1. Erstellen Sie verwandte Verzeichnisse
$ cd frontend $ mkdir -p modules/h5 && cd modules/h5 $ mkdir controllers $ touch Module.php
Module.php
3. Moduldeklaration in
<?php namespace frontend\modules\h5; class Module extends \yii\base\Module { public function init() { parent::init(); $this->params['foo'] = 'bar'; // ... 其他初始化代码 ... } }
frontend/config/main.php
4. Erstellen Sie eine neue Controller-Klasse in
'modules' => [ 'h5' => [ 'class' => 'frontend\modules\h5\Module', // ... 模块其他配置 ... ], ],
modules/h5/controllers
Browserzugriff zugreifen.
<?php namespace frontend\modules\h5\controllers; use Yii; use common\models\LoginForm; use frontend\models\SignupForm; use frontend\models\ContactForm; use yii\base\InvalidParamException; use yii\web\BadRequestHttpException; use yii\web\Controller; class SiteController extends Controller { public function actionIndex() { return "hello h5 module"; //return $this->render('index'); } }Es gibt auch eine Möglichkeit, ein Zugriffsformular ähnlich dieser URL-Route zu implementieren, z. B.
. Erstellen Sie einfach ein neues Unterverzeichnis im Verzeichnis http://localhost:8888/index.php?r=h5/site/index
mit dem Namen
r=test/site/index
frontend/controllers
. Dies kann zum Beispiel für die API-Versionskontrolle verwendet werden: test
namespace frontend\controllers\test;Originalversion:
http://www.cnblogs.com/52fhy/...
r=v1/site/index r=v2/site/indexGrundkonzepte der Yii2-Konfiguration
Detaillierte Erläuterung des Yii2.0-Ausführungsprozesses
Das obige ist der detaillierte Inhalt vonYii Multianwendungs-Multimodul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!