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 分享