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

Yii multi-application multi-module

不言
Libérer: 2023-03-22 18:10:02
original
2388 Les gens l'ont consulté

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
Copier après la connexion
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/
Copier après la connexion
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
Copier après la connexion
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
Copier après la connexion
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;;
        // ...  其他初始化代码 ...
    }
}
Copier après la connexion

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;,
        // ... 模块其他配置 ...
    ],
],
Copier après la connexion

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;);
    }
}
Copier après la connexion
. 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;
Copier après la connexion
http://www.cnblogs.com/52fhy/...

r=v1/site/index
r=v2/site/index
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal