ホームページ >バックエンド開発 >PHPチュートリアル >Yii マルチアプリケーション マルチモジュール
この記事では、YII 2.0.7 を例として、Yii マルチアプリケーションとマルチモジュールについて説明します。必要な方は参考にしてください。
まず、マルチアプリケーションの特徴を見てみましょう。マルチモジュール:
マルチアプリケーションの特徴:
独立した設定ファイル
独立したドメイン名
マルチモジュールの特徴:
統合された設定ファイルドメインname
では、実際に複数のアプリケーションを使用するかどうかを決定するにはどうすればよいでしょうか? 複数のモジュールについてはどうすればよいでしょうか?
フロントエンドとバックエンドを分離する場合、たとえば、バックエンドは管理用に別のドメイン名が必要です。これには複数のアプリケーションを使用する必要があります
複数のアプリケーションの構成は完全に異なり、複数を使用する方が便利ですアプリケーションでは、別の設定ファイルを使用します
複数のアプリケーション アプリケーションにはより多くのドメイン名設定が必要であり、価格の比較は面倒です。小規模なプロジェクトの場合は、複数のモジュールの方が優れています
複数のアプリケーション
advanced
ディレクトリに入り、次のコマンドを実行します。 # Windows init.bat # Linux init
frontend
と backend の <code>web
を開きます。 code> ディレクトリは、エントリ ファイル index.php
を生成します。 frontend
と backend
は、それぞれフロントエンド アプリケーションとバックグラウンド アプリケーションを表します。内部のディレクトリ構造は同じです: assets/ config/ controllers/ models/ runtime/ views/ web/
実行: advanced
目录,运行:
$ 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
会在frontend
和backend
两个应用的web
目录生成入口文件index.php
。frontend
和backend
分别表示前台和后台应用,里面的目录结构是一样的:
$ cd frontend $ mkdir -p modules/h5 && cd modules/h5 $ mkdir controllers $ touch Module.php
运行:
<?php namespace frontend\modules\h5; class Module extends \yii\base\Module { public function init() { parent::init(); $this->params['foo'] = 'bar'; // ... 其他初始化代码 ... } }
打开浏览器输入http://0.0.0.0:8888就可以访问默认的首页了。
建议model还是放在根目录的common/models
里。
多模块可以参照http://www.yiichina.com/doc/g...。示例:在frontend
里新建一个h5
应用:
1、建立相关目录
'modules' => [ 'h5' => [ 'class' => 'frontend\modules\h5\Module', // ... 模块其他配置 ... ], ],
2、Module.php
内容示例:
<?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'); } }
3、在frontend/config/main.php
增加模块的申明:
namespace frontend\controllers\test;
4、在modules/h5/controllers
新建控制器类:
r=v1/site/index r=v2/site/index
浏览器访问:http://localhost:8888/index.php?r=h5/site/index
即可访问。
还有一种方法也可以实现类似该URL路由的访问形式,例如r=test/site/index
。只需要在frontend/controllers
目录新建个子目录叫test
rrreee
common/models
に配置することをお勧めします。 複数のモジュールについては、http://www.yiichina.com/doc/g…。 例: frontend
に新しい h5
アプリケーションを作成します:
1. 関連するディレクトリを作成しますrrreee2. Module.php
のコンテンツの例:
3. frontend/config/main.php
にモジュール宣言を追加します: rrreee4. modules/h5/controllers
に新しいコントローラー クラスを作成します:
ブラウザアクセス: http://localhost:8888/index.php?r=h5/site/index
にアクセスします。 この URL ルートと同様のアクセスフォームを実装する方法もあります (r=test/site/index
など)。 frontend/controllers
ディレクトリに test
という新しいサブディレクトリを作成し、その中にコントローラーを配置し、名前空間を
に変更するだけです。これは、API バージョン管理に使用できます。例:
rrreee
http://www.cnblogs.com/52yahoo/...
関連する推奨事項:
🎜🎜 Yii2 設定の基本概念🎜 🎜🎜 🎜Yii2.0実行プロセスの詳細説明🎜🎜🎜🎜Yiiフレームワークの導入方法🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜以上がYii マルチアプリケーション マルチモジュールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。