Yii2开发笔记系列一:advanced版,增加一个纯接口的子项目 api
简介
Yii 是一个快速、安全、高效、高性能且基于组件(component)的 PHP 框架,用于快速开发现代 Web 应用程序。
Yii2 (最新版为: )是当前此框架主流的版本,兼容 PHP 5.4.0 ~ 8.0.x ,官方提供了basic 和 advanced 两个应用程序模板,本系列文章主要针对 advanced 模板
advanced 模板自带 frontend(前台网页) 和 backend(后台管理系统) 两个子项目,很遗憾都是针对传统php与前端混合开发模式的,但是,面对前后端分离的大趋势,如果想要写一个 纯 api 的项目,比如要使用 restful、jwt、swagger 等,就需要自己来创建
composer安装
composer create-project yiisoft/yii2-app-advanced demo
相关命令
# 配置github开发者密钥
composer config --global --auth github-oauth.github.com {你的密钥}
# 查看当前全局配置地址
composer config -g -l repo.packagist
# 全局设置国内镜像仓库
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 取消全局设置仓库
composer config -g --unset repos.packagist
# composer自我更新到最新版
composer self-update
# 指定更新版本
composer self-update --1
composer self-update --2
# composer回滾版本
composer self-update --rollback
# 安装与更新依赖包
composer install
composer update
# 清除缓存
composer clearcache
新增 api 子项目
复制根目录下的backend项目文件夹,改名为 api
1、打开 /api/config/main.php
id 属性改为 app-api
controllerNamespace 属性改为 api\controllers
组件 request 下的 csrfParam 属性改为 _csrf-api
组件 user 下的 identityCookie 下的 name 属性修改为 _identity-api
组件 session 下的 name 属性改为 advanced-api
2、打开 /api/assets/AppAsset.php
namespace 改为 api\assets
3、打开 /common/config/bootstrap.php 新增
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
环境文件
/environments/dev/与/environments/prod/下分别复制一份backend文件夹 改名为 api
打开/environments/index.php文件,分别找到Development 和Production 下的
1、setWritable 下新增
'api/runtime',
'api/web/assets',
2、setCookieValidationKey 下新增
'api/config/main-local.php',
Git忽略设置
打开 /.gitignore 新增
/api/web/index.php
/api/web/index-test.php
/api/web/robots.txt
/api/web/.htaccess
初始化项目
在项目根目录下执行
php init
开发环境选 0,然后yes,最后 all
总结
至此,一个api的子项目就基本完成了
本作品采用《CC 协议》,转载必须注明作者和本文链接
yii淘汰了