yii2如何創建應用

application在YII2中有兩個不同的意思:應用系統、應用主體。一個應用系統可以包含多個應用主體。典型的例如 yii2 advanced 高級應用系統,就包含frontend、backend和console三個應用主體,分別提供前臺用戶界面,后臺管理界面和命令行界面。

yii2如何創建應用

有的時候,我們還需要一個api,用來提供webservice。這個時候我們就需要再創建一個新的應用主體,來提供api。

1,先在項目的根目錄下復制一份 backend 改名為 api: ? ?(推薦學習:yii教程

cp?backend/?api?-r

2,拷貝 api 環境

cp?-a?environments/dev/frontend?environments/dev/api cp?-a?environments/prod/frontend?environments/prod/api

3,修改 environments/index.php 文件之后的代碼(主要是添加了一些 api 相關的代碼):

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,切換到項目根目錄,執行初始化命令

php?init

windows下打開cmd,切換到項目根目錄執行上述命令。

5,添加api文件夾別名,去 common/config/bootstrap.php 最后一行添加如下代碼:

Yii::setAlias('api',?dirname(dirname(__DIR__))?.?'/api');

6,修改一下配置文件 api/config/main.php

return?[ 'id'?=>?'app-api', //?...? 'controllerNamespace'?=>?'apicontrollers', ]

7,修改api文件中,controllers,models,assets,views中文件的命名空間為api。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享