YII2.0 高级模板增加api

来源:互联网 发布:中国5g网络相关企业 编辑:程序博客网 时间:2024/05/16 08:17

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


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

cp backend/ api -r

第二步复制api初始化模板

cp -a environments/dev/frontend environments/dev/apicp -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


原创粉丝点击