Yii2 高级版新建一个 Api 应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 高级版新建一个 Api 应用相关的知识,希望对你有一定的参考价值。

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

cp backend/ api -r

拷贝 api 环境

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

修改 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‘,
        ],
        ‘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‘,
        ],
    ],
];

然后再执行初始化命令:

php init

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

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

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

return [
    ‘id‘ => ‘app-api‘,
    // ... 
    ‘controllerNamespace‘ => ‘api\controllers‘,
]

最后 api 里面的控制器等有命名空间的文件也要修改一下。

参考资料

来源:http://www.getyii.com/topic/28

以上是关于Yii2 高级版新建一个 Api 应用的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 高级版新建一个 Api 应用

win10 安装YII2

如何 安装Yii2的高级应用程序模板

yii2.0-advanced 高级版项目搭建

Yii2实现RESTful风格的API中要注意的坑

yii2.0-advanced 高级版项目搭建