yii2.0 基于RESTful架构配置 " 版本 " 问题

  序言:

          我在跟着yii官网配置关于版本的配置时,老是出现问题,因为在我的项目中可能和他们的项目有不同之处,导致我的配置出现一些问题, 也有可能自己现在还是小白,所以当我配置成功后,打算自己整理一下,以免以后时间一长,就忘了.......


下面我就介绍一下我的配置信息,并以图的形式展现出来:

1: 下面是我的项目目录platform_api,分别是包含config配置文件,新建modules文件夹,实行api接口版本控制。例如V1版本、V2版本…


2: 现在以v2版本api文件配置为例;  在v2文件夹下新建controllers文件夹(控制器)、models文件夹(模型)、Module.php配置文件。

Module.php文件如下:(第2行和第7行随版本扩展而变化(v1->v2...)。)

<?php
namespace api\modules\v2;

class Module extends \yii\base\Module
 {
    public $controllerNamespace = 'api\modules\v2\controllers';
    public function init()
    {
        parent::init();
    }
 }

3: 配置config文件夹下的main.php文件

<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);

return [
    'id' => 'api',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'controllerNamespace' => 'api\controllers',

    'modules' => [
        'v1' => [
            'class' => 'api\modules\v1\Module'
        ],
        'v2' => [
            'class' => 'api\modules\v2\Module'
        ],
    ],
    'components' => [
        'user' => [
            'identityClass' => 'api\modules\v1\models\oauth\AccessToken',    //在项目中添加了access_token验证
            'enableAutoLogin' => true,
            'enableSession' => false,
            'loginUrl' => null
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'urlManager' => [
            // 启用美化URL
            'enablePrettyUrl' => true,
            // 是否执行严格的url解析
            'enableStrictParsing' => true,
            // 在URL路径中是否显示脚本入口文件
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule','controller' => ['v1/user']],    //随着接口控制器的增多,可以直接在数组中增加即可
                ['class' => 'yii\rest\UrlRule','controller' => ['v2/user']],
                ['class' => 'yii\rest\UrlRule','controller' => ['v2/friend']],

            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
    ],
    'params' => $params,
];

4: 最后你去访问接口的时候,地址上就可以带上版本号了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值