YII2.0 高级模板增加api

http://www.yiichina.com/tutorial/835


第一步进入高级模板根目录,复制backend改名为api

cp backend/ api -r

第二步复制api初始化模板

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

第三步添加api初始化代码,在根目录下/environments/index.php

return [
    'Development' => [
        'path'                   => 'dev',
        'setWritable'            => [
            'backend/runtime',
            'backend/web/assets',
            'frontend/runtime',
            'frontend/web/assets',
            'api/runtime',  //add api
            'api/web/assets',  //add api
        ],
        'setExecutable'          => [
            'yii',
            'tests/codeception/bin/yii',
        ],
        'setCookieValidationKey' => [
            'backend/config/main-local.php',
            'frontend/config/main-local.php',
            'api/config/main-local.php', //add api
        ],
    ],
    'Production'  => [
        'path'                   => 'prod',
        'setWritable'            => [
            'backend/runtime',
            'backend/web/assets',
            'frontend/runtime',
            'frontend/web/assets',
            'api/runtime',  //add api
            'api/web/assets',  //add api
        ],
        'setExecutable'          => [
            'yii',
        ],
        'setCookieValidationKey' => [
            'backend/config/main-local.php',
            'frontend/config/main-local.php',
            'api/config/main-local.php',  //add api
        ],
    ],
];

第四步初始化模板

php init

第五步给api添加别名,在根目录下/common/config/bootstrap.php

Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');  //add api

第六步修改api配置文件,在根目录下/api/config/main.php

'id'                  => 'app-api',
'controllerNamespace' => 'api\controllers',
'components'          => [
        //其他代码
        'urlManager'   => [
            "enablePrettyUrl"     => true,
            "enableStrictParsing" => true,
            "showScriptName"      => false,
            "suffix"              => "",
            "rules"               => [
                ['class' => 'yii\rest\UrlRule', 'controller' => ['yours controller']],
            ],
        ],

    ],

最后可以建立相应的控制器了,实现api


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值