本文以YII 2.0.7為例,給大家分享了關於Yii多應用多模組,有需要的朋友可以參考一下
先看看多應用和多模組的特性:
多重應用的特性:
獨立設定檔
advanced目錄,運行:
# Windows init.bat # Linux init會在
frontend和
backend兩個應用的
web目錄產生入口檔案
index.php。
frontend和
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開啟瀏覽器輸入http://0.0.0.0:8888就可以存取預設的首頁了。 建議model還是放在根目錄的
common/models裡。
http://www.yiichina.com/doc/g...。 範例:在frontend裡新建一個
h5應用:
$ cd frontend $ mkdir -p modules/h5 && cd modules/h5 $ mkdir controllers $ touch Module.php2、
Module. php內容範例:
<?php namespace frontend\modules\h5; class Module extends \yii\base\Module { public function init() { parent::init(); $this->params['foo'] = 'bar'; // ... 其他初始化代码 ... } }3、在
frontend/config/main.php增加模組的申明:
'modules' => [ 'h5' => [ 'class' => 'frontend\modules\h5\Module', // ... 模块其他配置 ... ], ],4、在
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'); } }瀏覽器存取:
http://localhost:8888/index.php?r=h5/site/index 即可訪問。
r=test/site/index。只需要在
frontend/controllers目錄新個子目錄叫
test,把控制器放在裡面,然後改下命名空間為
namespace frontend\controllers\test;就可以了。這種可以用於API版本控制,例如:
r=v1/site/index r=v2/site/index原載於:
http://www.cnblogs.com/52fhy/...
#相關推薦:以上是Yii 多重應用多模組的詳細內容。更多資訊請關注PHP中文網其他相關文章!