当前位置:首页 > PHP > Yii2 > 正文内容

YII2.0 高级模板增加api [ 2.0 版本 ]

佳航网络工作室2年前 (2024-01-10)Yii2625

第一步进入高级模板根目录,复制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


扫描二维码推送至手机访问。

版权声明:本文由佳航网络发布,如需转载请注明出处。

本文链接:https://jiahang.work/?id=9

标签: Yii2
分享给朋友:
返回列表

没有更早的文章了...

下一篇:如何安装Yii2?

“YII2.0 高级模板增加api [ 2.0 版本 ]” 的相关文章

如何安装Yii2?

如何安装Yii2?

安装 Yii你可以通过两种方式安装 Yii:使用 Composer 或下载一个归档文件。 推荐使用前者,这样只需执行一条简单的命令就可以安装新的扩展或更新 Yii 了。标准安装完Yii之后,框架和一个项目模板两者都下载并安装好了。 一个项目模板是实现了一些基本特性的一个 可行的Y...

【从零开始搭建Yii2后台管理系统】一、前言及准备工作

本文将从零开始,分享使用Yii2搭建后台管理系统的开发流程,实现前后台分离、登录验证、菜单管理、权限控制、文章管理等基本功能,可作为其他项目的Starter Kit使用。本猿开发经验有限,若有不足之处还请留言指教,以成抛砖引玉之美。本次开发使用的主要程序及工具Yii2 Framework advan...

【从零开始搭建Yii2后台管理系统】四、引入前台UI文件,实现界面的美化

在上一篇文章中,我们已经实现了网站后台的管理员账号登录,下一步我们引入UI文件,美化界面主题。...

Yii2 中如何彻底禁用掉自带的 Yii、JQuery 和 Bootstrap 脚本 [ 2.0 版本 ]

▪ 环境基于 Yii2 高级模板▪ 前言默认情况下,Yii2 会自动加载 Yii、JQuery 和 Bootstrap 等脚本和样式,但有时项目中可能并不需要这些库,或者使用其他版本;下面介绍如何去掉这些库脚本和样式。▪ 去除 Yii.js 相关脚本编辑 frontend\asset\AppAsse...

yii2 ajax csrf meta,yii2开启CSRF后POST"提交的数据无法被验证"

CSRF全称Cross-site request forgery,即跨站请求伪造。利用CSRF,攻击者可以破坏网络请求会话的完整性。比如如果在一个Web页面中存在js ajax的请求,为了网站安全,你应该仅允许这个ajax请求在当前web页面内发起。否则的话,用户可以通过模拟该ajax请求...

Yii2使用自带验证码

** 分别MVC 三部分来看怎么实现yii2自带的验证码。 **** Model **class LoginForm extends Model {   public $username;   ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。