Cet article prend YII 2.0.7 comme exemple pour partager avec vous la multi-application et le multi-module Yii. Les amis dans le besoin peuvent se référer à
Tout d'abord, prenons. un aperçu du multi-application et du multi-module Caractéristiques du module :
Caractéristiques de plusieurs applications :
Fichier de configuration indépendant
Nom de domaine indépendant
Caractéristiques de plusieurs modules :
Fichier de configuration unifié
Nom de domaine unifié
Alors, comment réellement décider s'il faut utiliser le multi-application ou le multi-module ?
Pour la séparation du front et du backend, par exemple, le backend a besoin d'un nom de domaine distinct pour la gestion
et exécutez : advanced
# Windows init.bat # Linux init
dans les répertoires frontend
des applications backend
et web
. index.php
et frontend
représentent respectivement les applications de premier plan et d'arrière-plan. La structure des répertoires à l'intérieur est la même : backend
assets/ config/ controllers/ models/ runtime/ views/ web/
$ 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
. common/models
http://www.yiichina.com/doc/g.... Exemple : Créez une nouvelle application dans frontend
: h5
$ cd frontend $ mkdir -p modules/h5 && cd modules/h5 $ mkdir controllers $ touch Module.php
3. Ajoutez une déclaration de module dans Module.php
:
<?php namespace frontend\modules\h5; class Module extends \yii\base\Module { public function init() { parent::init(); $this->params['foo'] = 'bar'; // ... 其他初始化代码 ... } }
4. Créez une nouvelle classe de contrôleur dans frontend/config/main.php
:
'modules' => [ 'h5' => [ 'class' => 'frontend\modules\h5\Module', // ... 模块其他配置 ... ], ],
Accès au navigateur : <🎜 > pour accéder. modules/h5/controllers
<?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'); } }
appelé http://localhost:8888/index.php?r=h5/site/index
, placez-y le contrôleur, puis changez l'espace de noms en
r=test/site/index
. Cela peut être utilisé pour le contrôle de version de l'API, par exemple : frontend/controllers
test
namespace frontend\controllers\test;
r=v1/site/index r=v2/site/index
Concepts de base de la configuration Yii2
Explication détaillée du processus d'exécution de Yii2.0
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!