Maison >développement back-end >tutoriel php >Yii multi-application multi-module

Yii multi-application multi-module

不言
不言original
2018-03-30 10:55:312419parcourir

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 à

Présentation

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

  • La configuration de plusieurs applications est complètement différente. Il est plus pratique d'utiliser plusieurs fichiers de configuration

  • Plusieurs applications nécessitent plus de configurations de noms de domaine, ce qui rend la comparaison des prix difficile. petits projets, les noms de domaine ne sont pas distingués. Plusieurs modules sont meilleurs

Applications multiples

Le moyen le plus simple est de télécharger le modèle d'application avancé de Yii2 depuis le site officiel : yii-advanced-app-2.0.12.tgz. Après téléchargement et décompression, entrez dans le répertoire

et exécutez : advanced

# Windows
init.bat

# Linux
init
générera des fichiers d'entrée

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/
Exécuter :

$ 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
Ouvrez le navigateur et saisissez http:/. / 0.0.0.0:8888 peut accéder à la page d'accueil par défaut.

Il est recommandé de placer le modèle dans le répertoire racine

. common/models

Plusieurs modules

Plusieurs modules peuvent faire référence à

http://www.yiichina.com/doc/g.... Exemple : Créez une nouvelle application dans frontend : h5

1. Créez des répertoires associés

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

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[&#39;foo&#39;] = &#39;bar&#39;;
        // ...  其他初始化代码 ...
    }
}

4. Créez une nouvelle classe de contrôleur dans frontend/config/main.php :

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

Accès au navigateur : pour accéder. modules/h5/controllers

Il existe également un moyen d'implémenter un formulaire d'accès similaire à cette route URL, tel que
<?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;);
    }
}
. Créez simplement un nouveau sous-répertoire dans le répertoire

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/controllerstest

Version originale :
namespace frontend\controllers\test;
http://www.cnblogs.com/52fhy/...

r=v1/site/index
r=v2/site/index
Recommandations associées :

Concepts de base de la configuration Yii2

Explication détaillée du processus d'exécution de Yii2.0

Comment présenter Yii Frame


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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn