专为api开发的php框架,PhpBoot:专为开发 RESTful API 设计的 PHP 框架

phprs-restful 2.x 版本改名为PhpBoot。当前版本由于改动较大, 与1.x 版本不兼容。下载1.x版本请前往 phprs-restful v1.x

PhpBoot是专为开发RESTful API 设计的PHP框架。它设计的初衷是尽可能简化API开发,包括:

更少的重复代码

如避免为开发API而在文档、接口定义、实现、数据库设计之间不停的重复和同步代码等。

更低的学习成本

如尽量遵循优秀的惯例, 尽可能扩展PHP原生能力, 避免不必要的抽象等。

更实用的功能

如Validation、ORM、文档生成、工作流引擎等。同时使用PhpBoot有助于提高代码质量。

更易于构建可扩展的应用

如它引导面向接口的开发, 提倡强类型的编程方式, 提供依赖注入能力, 低侵入性的集成方式, 提供钩子机制等。

主要特性

安装和配置

安装composer(已安装可忽略)

curl -s http://getcomposer.org/installer | php

安装PhpBoot

composer require "caoym/phpboot"

index.php加载PhpBoot

require __DIR__.'/vendor/autoload.php';

$app = \PhpBoot\Application::createByDefault(__DIR__.'/config/config.php');

$app->loadRoutesFromPath(__DIR__.'/App/Controllers');

$app->dispatch();

示例

下面一个最基本的例子, 展示了依赖注入、基于Anntotaion的路由定义、参数绑定、参数校验和ORM, 完整的示例请见phpboot-example,以及在线 Demo

/**

* 图书管理接口示例

*

* @path /books

*/

class Books

{

/**

* 查找图书

*

* @route GET /

*

* @param string $name 查找书名

* @param int $offset 结果集偏移 {@v min|0}

* @param int $limit 返回结果最大条数 {@v max|1000}

*

* @throws BadRequestHttpException 参数错误

* @return Book[] 图书列表

*/

public function findBooks($name, $offset=0, $limit=100)

{

return \PhpBoot\model($this->db, Book::class)

->where(['name'=>['LIKE'=>"%$name%"]])

->limit($offset, $limit)

->get();

}

}

对应请求和响应

$ curl http://localhost/books/?name=PHP&offset=0&limit=10

[

{

"id": 1,

"name": "PHP",

"brief": "PHP 从入门到嫌弃",

"pictures": []

}

]

帮助和文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值