本项目是基于当前最新的phalcon3.4.3微型应用,phalcon是基于C扩展的高性能框架,phalcon自带mvc结构,所以此项目只有300kb多,代码少易部署,非常轻量。 完全restful风格,亮点如下:
- 提供scaffold脚手架,一键生成增删改查api接口
- restful ,基于php-jwt的api授权
- 提供cli控制台,可结合cli使用swoole异步通信引擎...
- mysql读写分离
- 封装参数验证器,使用更方便更简单
git clone https://github.com/luyuanxun/micro.git
composer install
php -S localhost:9000 -t public/ .htrouter.php
注:此方式只能用作于开发,上线请使用nginx+php-fpm方式
docker-compose up -d
- 固定参数:php run scaffold
- --type 为生成类型,如crud、controller、model,默认为crud
- --table 为mysql数据表,如user
- -f 如果已经生成过了,没加此参数将生成失败,加了此参数将会覆盖
php run scaffold rest --type=crud --table=news -f
$ php run scaffold rest --type=crud --table=news -f
controller生成成功:micro/app/controllers/NewsController.php
model生成成功:micro/app/models/News.php
service生成成功:micro/app/services/NewsService.php
CURD完成!!!
恭喜恭喜,请根据micro/app/app.php的路由规则测试一波
{
"code": 200,
"msg": "SUCCESS",
"data": {
"pagination": {
"page": 1,
"pageSize": 10,
"pageCount": 5
},
"list": [
{
"id": "x2SCQ8UW1ML0uwiZ6fVdjzI=",
"title": "title2",
"content": "content22222"
},
{
"id": "uUoR3CNDZz4W6EGpo0wxiE4=",
"title": "title3",
"content": "content6666"
}
]
}
}
根据自带代码生成器脚手架scaffold,参考模板,做自己风格的代码生成器,还可以自定义命令,可参考app/tasks/TimerTask.php
$ php run timer tick
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
每秒执行一次,10秒后停止!
时间到了,结束!
- required 必填,不能为空
- alphaNum 必须为字母和数字
- alpha 必须为字母
- date 时间格式 date:Y-m-d H:i:s 或 date:Y-m-d 等等
- digit 必须为整数
- num 必须为数字
- email 必须为邮箱
- notIn 不包含格式 notIn:1,a,test
- in 包含格式 in:1,a,test
- regex 正则格式 regex:/^[0-9]$/
- strLen 字符串长度限制格式 strLen:min,max
- between 数字大小限制 between:min,max
- strLen 字符串长度限制格式 strLen:min,max
- confirmed 确认字段一致格式 confirmed:field
- url 必须为 url
- creditCard 必须为 必须是信用卡卡号
- unique 唯一判断 unique:model,field //模型名news,字段名title
为了保证安全,会对返回值中数据库的主键(如:id)进行加密,crud操作也传的是加密后的值