Svick Framework
🐱 框架介绍
一个简单、快速、规范、灵活、扩展性好的php http api开发框架
更新内容
- 新增Http客户端,支持异步、并发请求
- ORM从写,规范化链式调用方法
- 新增控制器方法可注入Request请求类
- 去掉boot.php引导文件
- 修复多模块url中有模块名的bug,apps、default_app配置统一到project配置项
- 优化Validator验证类、Log日志类
- Config::load更改为深度合并
🍀 特性
- 1、PHP7.2+
- 2、PSR-4标准自动加载
- 3、轻量级,扩展灵活,快速上手
- 4、支持服务容器,实现依赖注入、控制反转
- 5、支持单应用、多应用、多版本API
- 6、多环境支持,如开发环境(dev)测试环境(test)线上环境(pro)
- 7、支持cli模式运行
- 8、ORM链式调用,支持数据库读写分离设置,可具体到某张表
- 9、简单好用的Http客户端
🎉 future
- Svick-admin快速开发后台(基于Admin Work开发)
- 对swoole的支持
- 对workerman的支持
代码片段
namespace app\\api\\controller;
use model\\course\\Course as CourseModel;
use Svick\\Core\\App;
use Svick\\Core\\Request;
class Course extends Base
{
public function list()
{
$type = Request::getInt('type');
$p = Request::getInt('p', 1);
$page = ['p' => $p, 'limit' => 20];
$courses = CourseModel::where(['type' => $type, 'status' => 1])
->select('id, title, uid')
->orderBy('id DESC')
->page($page)
->list();
return App::result(0, 'ok', [
'courses' => $courses,
'page' => $page
]);
}
}
返回值
{
"code":0,
"msg":"ok",
"data":{
"courses":[
{
"id":10003,
"title":"PHP公开课",
"uid":1005688
},
{
"id":10004,
"title":"Golang公开课",
"uid":1005689
}
],
"page":{
"p":1,
"limit":20,
"total":128,
"total_page":7
}
}
}