用户/aichenk/ /phalcon-server
基于phalcon框架的服务代码模板,支持restful风格,包含API模块和CLI模块,控制器仅作为预留。
2.0.0
2020-05-26 07:40 UTC
Requires
- php: >=7.2
- ext-json: *
- ext-phalcon: 3.4.*
README
- 基于phalcon框架的服务代码模板,包含API模块和CLI模块,控制器仅作为预留。
- API模块接口有版本划分,支持restful风格。
- CLI模块用于命令行操作,可用于处理耗时代码和定时任务等。
- 使用composer替代框架的autoload功能。
依赖
- PHP 7.2+
- composer
使用
- 下载完成后,需要运行
composer install
。 - 修改
web.ini
或app/config/config.php
文件进行配置(web.ini中的内容会覆盖后者)。 - 项目没有视图层,需要在services_web中设置view,设置config中的cache路径并增加cache目录。
- API模块下需要指定版本
v([0-9]+)
,支持版本下增加文件夹(表示module),路由为/api/:version/[:module/]/:controller/:action
。 - API模块下的action支持指定
method
,如index->indexPost
,访问路径为curl -X POST /api/v1/index/index
(curl -X GET /api/v1/index/indexPost
也有效)。
验证
- 网页访问:
curl http://xxxx/api/v1/test
- 命令行(项目根目录):
php run
更新
v2.0.0 2020-04-28
- 删除
BaseModel|Tool
等公共类 - 去除
app\helpers\Exception\*
异常类 - 去除框架的loader方式,使用composer自动加载
- 去除全局变量
PROJECT_NAME|MODE_NAME
api
模块增加目录结构,可按照模块增加文件夹(原有方式兼容,新方式优先,详见示例)BaseApi
直接继承BaseController
BaseApi
类增加前置方法_initialize
BaseApi
类增加apiRouter
成员变量,可获取最终运行类及方法名BaseApi
类中checkMethod
去除异常,返回boolconfig.php
中增加exceptionHandle
参数,用于捕捉异常类helpers
目录移动到common
下- 更改控制器类返回方法出入参
- 去除
PROJECT_NAME|MODE_NAME
等全局变量
v1.1.2 2020-03-30
- 依赖注入直接引入
Injectable
v1.1.1 2019-10-22
- 修复异常捕捉方法code问题
- 去除异常捕捉时自动回滚(未使用数据库时有额外开销)
v1.1.0 2019-10-18
- 更改BaseApi获取依赖注入方式