Heim >Backend-Entwicklung >PHP-Tutorial >Yii Multianwendungs-Multimodul

Yii Multianwendungs-Multimodul

不言
不言Original
2018-03-30 10:55:312384Durchsuche

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

Übersicht

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.

Mehrere Anwendungen

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

Mehrere Module

Mehrere Module können auf

http://www.yiichina.com/doc/g... verweisen. Beispiel: Erstellen Sie eine neue Anwendung in frontendh51. Erstellen Sie verwandte Verzeichnisse

2. Inhaltsbeispiel:
$ cd frontend
$ mkdir -p modules/h5 && cd modules/h5
$ mkdir controllers
$ touch Module.php

Module.php3. Moduldeklaration in

hinzufügen:
<?php
namespace frontend\modules\h5;

class Module extends \yii\base\Module
{
    public function init()
    {
        parent::init();

        $this->params[&#39;foo&#39;] = &#39;bar&#39;;
        // ...  其他初始化代码 ...
    }
}

frontend/config/main.php4. Erstellen Sie eine neue Controller-Klasse in

:
&#39;modules&#39; => [
    &#39;h5&#39; => [
        &#39;class&#39; => &#39;frontend\modules\h5\Module&#39;,
        // ... 模块其他配置 ...
    ],
],

modules/h5/controllersBrowserzugriff 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(&#39;index&#39;);
    }
}
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

, platzieren Sie den Controller darin und ändern Sie dann den Namespace in

r=test/site/indexfrontend/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/index

Verwandte Empfehlungen:

Grundkonzepte der Yii2-Konfiguration

Detaillierte Erläuterung des Yii2.0-Ausführungsprozesses

So stellen Sie Yii Frame vor


Das obige ist der detaillierte Inhalt vonYii Multianwendungs-Multimodul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn