十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
小編給大家分享一下yii2創(chuàng)建應(yīng)用的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
application在yii2中有兩個(gè)不同的意思:應(yīng)用系統(tǒng)、應(yīng)用主體。一個(gè)應(yīng)用系統(tǒng)可以包含多個(gè)應(yīng)用主體。典型的例如 yii2 advanced 高級(jí)應(yīng)用系統(tǒng),就包含frontend、backend和console三個(gè)應(yīng)用主體,分別提供前臺(tái)用戶界面,后臺(tái)管理界面和命令行界面。
有的時(shí)候,我們還需要一個(gè)api,用來(lái)提供webservice。這個(gè)時(shí)候我們就需要再創(chuàng)建一個(gè)新的應(yīng)用主體,來(lái)提供api。
1,先在項(xiàng)目的根目錄下復(fù)制一份 backend 改名為 api:
cp backend/ api -r
2,拷貝 api 環(huán)境
cp -a environments/dev/frontend environments/dev/api cp -a environments/prod/frontend environments/prod/api
3,修改 environments/index.php 文件之后的代碼(主要是添加了一些 api 相關(guān)的代碼):
return [ 'Development' => [ 'path' => 'dev', 'setWritable' => [ 'backend/runtime', 'backend/web/assets', 'frontend/runtime', 'frontend/web/assets', 'api/runtime', 'api/web/assets', ], 'setExecutable' => [ 'yii', 'yii_test', ], 'setCookieValidationKey' => [ 'backend/config/main-local.php', 'frontend/config/main-local.php', 'api/config/main-local.php', ], ], 'Production' => [ 'path' => 'prod', 'setWritable' => [ 'backend/runtime', 'backend/web/assets', 'frontend/runtime', 'frontend/web/assets', 'api/runtime', 'api/web/assets', ], 'setExecutable' => [ 'yii', ], 'setCookieValidationKey' => [ 'backend/config/main-local.php', 'frontend/config/main-local.php', 'api/config/main-local.php', ], ], ];
4,切換到項(xiàng)目根目錄,執(zhí)行初始化命令
php init
windows下打開(kāi)cmd,切換到項(xiàng)目根目錄執(zhí)行上述命令。
5,添加api文件夾別名,去 common/config/bootstrap.php 最后一行添加如下代碼:
Yii::setAlias('api', dirname(dirname(__DIR__)) . '/api');
6,修改一下配置文件 api/config/main.php
return [ 'id' => 'app-api', // ... 'controllerNamespace' => 'api\controllers', ]
7,修改api文件中,controllers,models,assets,views中文件的命名空間為api。
以上是“yii2創(chuàng)建應(yīng)用的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!