无来

不管你来还是不来
我都在这里,夜夜点亮
不是为了守候
只是为了做好我自己

0%

Yii2 advanced add module

Yii2 advanced add module

在Yii2高级版添加新的模块

0 下载Yii2框架,配置环境

https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/start-installation.md

1 先在项目的根目录下复制一份 backend 为 api

1
cp backend/ api -r

2 拷贝 api 环境

1
2
cp -a environments/dev/frontend environments/dev/api
cp -a environments/prod/frontend environments/prod/api

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
return [
'Development' => [
'path' => 'dev',
'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',
],
],
'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 然后再执行初始化命令

1
php init

5 然后记得去 common/config/bootstrap.php 最后一行添加如下代码:

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

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

1
2
3
4
5
return [
'id' => 'app-api',
// ...
'controllerNamespace' => 'api\controllers',
]

7 api 里面的控制器等有命名空间的文件

8