YII2框架中添加自定義模塊的方法實(shí)例分析
本文實(shí)例講述了YII2框架中添加自定義模塊的方法。分享給大家供大家參考,具體如下:
有些時(shí)候系統(tǒng)功能過(guò)于復(fù)雜,這時(shí)我們需要通過(guò)模塊把一些功能區(qū)分開(kāi)來(lái),便于管理與維護(hù)。
我用的是Yii2的基本應(yīng)用程序模板,程序其實(shí)已經(jīng)給我們提供了一個(gè)模塊,就是app本身。YII2中是可以無(wú)限嵌套模塊的。不過(guò)一般不要超過(guò)2層。
我們?cè)赼pp下創(chuàng)建一個(gè)modules的目錄,并創(chuàng)建一個(gè)api子目錄,子目錄下創(chuàng)建Api.php文件。
Api.php代碼如下:
<?php namespace app\modules\api; use yii\base\Module; //注意模塊必須繼承自yii\base\Module class Api extends Module { }
在api子目錄下,我們分別創(chuàng)建controllers,views,models目錄,你會(huì)發(fā)現(xiàn),這里的目錄結(jié)構(gòu)跟app的很像,其實(shí)app就是一個(gè)模塊,不過(guò)它是頂層模塊。
然后我們?cè)赾ontrollers里創(chuàng)建一個(gè)IndexController.php,在views下創(chuàng)建index目錄,并創(chuàng)建index.php
IndexController.php代碼如下:
<?php //注意這里的命名空間,要跟你的目錄對(duì)應(yīng) namespace app\modules\api\controllers; use yii\web\Controller; class IndexController extends Controller { public function actionIndex() { return $this->render('index', ['data' => 'hello world']); } }
index.php代碼如下:
<?php echo $data; ?>
最后我們還需要在config/web.php中配置一個(gè)我們的模塊,就可以訪問(wèn)了。
'modules' => [ 'api' => [ 'class' => 'app\modules\api\Api', ], ],
通過(guò)api/index/index來(lái)訪問(wèn),如果沒(méi)有配置URL美化,通過(guò)?r=api/index/index來(lái)訪問(wèn)
這樣我們的api模塊就創(chuàng)建好了,當(dāng)然api模塊下我們還可以創(chuàng)建modules目錄來(lái)創(chuàng)建子模塊,不過(guò)最好不要超過(guò)2層。
不過(guò)YII2中的GII已經(jīng)幫我們做好了生成模塊的操作,不需要像上面那樣那么麻煩自已配置。
通過(guò)訪問(wèn)/gii,或者?r=gii,來(lái)使用GII。
我們選擇Module Generator,點(diǎn)擊start。
點(diǎn)擊preview,查看文件和路徑是否正確,點(diǎn)擊Generate進(jìn)行生成。
這樣,一個(gè)模塊就創(chuàng)建好了。是不是很方便。
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- yii框架通過(guò)控制臺(tái)命令創(chuàng)建定時(shí)任務(wù)示例
- Yii框架的redis命令使用方法簡(jiǎn)單示例
- Yii使用migrate命令執(zhí)行sql語(yǔ)句的方法
- 實(shí)例講解yii2.0在php命令行中運(yùn)行的步驟
- yiic命令時(shí)提示“php.exe”不是內(nèi)部或外部命令的解決方法
- YII2框架中日志的配置與使用方法實(shí)例分析
- YII2框架中使用RBAC對(duì)模塊,控制器,方法的權(quán)限控制及規(guī)則的使用示例
- YII2框架中behavior行為的理解與使用方法示例
- YII2框架中actions的作用與使用方法示例
- YII2框架使用控制臺(tái)命令的方法分析
相關(guān)文章
詳解Yii2.0 rules驗(yàn)證規(guī)則集合
本篇文章主要介紹了詳解Yii2.0 rules驗(yàn)證規(guī)則集合 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03php設(shè)計(jì)模式之工廠模式用法經(jīng)典實(shí)例分析
這篇文章主要介紹了php設(shè)計(jì)模式之工廠模式用法,結(jié)合具體實(shí)例形式分析了php工廠模式相關(guān)原理、定義、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-09-09- CodeIgniter 是一個(gè)為用 PHP 編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序的人員提供的工具包。它的目標(biāo)是實(shí)現(xiàn)讓你比從零開(kāi)始編寫(xiě)代碼更快速地開(kāi)發(fā)項(xiàng)目,為此,CI 提供了一套豐富的類庫(kù)來(lái)滿足通常的任務(wù)需求,并且提供了一個(gè)簡(jiǎn)單的接口和邏輯結(jié)構(gòu)來(lái)調(diào)用這些庫(kù)。CodeIgniter 可以將需要完成的任務(wù)代碼量最小化,這樣你就可以把更多的精力放到項(xiàng)目的開(kāi)發(fā)上了。2014-06-06
laravel 解決paginate查詢多個(gè)字段報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇laravel 解決paginate查詢多個(gè)字段報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作示例
這篇文章主要介紹了tp5(thinkPHP5框架)captcha驗(yàn)證碼配置及驗(yàn)證操作,結(jié)合實(shí)例形式分析了基于thinkPHP5框架的captcha驗(yàn)證碼配置及驗(yàn)證操作具體步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-05-05基于jQueryUI和Corethink實(shí)現(xiàn)百度的搜索提示功能
這篇文章主要介紹了基于jQueryUI和Corethink實(shí)現(xiàn)百度的搜索提示功能,這里是以corethink模塊的形式,只需要安裝上訪問(wèn)index.php?s=/test/index 就可以了,需要的朋友可以參考下2016-11-11