扫码关注官方订阅号
php框架比较多,想实现restful api用哪个比较流行
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
必须提 Yii2
一提到rest,就非得支持啥put、delete这些请求,感觉很无聊,我认为post和get就能应付的了我们所有的请求了。
楼上吐槽php写API必要有一堆条件判断的朋友,restful这个难道不判断get/post/put/delete条件语句,还有更好的办法吗?
若是说真的好,golang最好
SlimFramework,挺有趣的!赞
推荐一款非常适合RESTful和微服务接口的框架 PHPRS@github
让你在这些场景下彻底摆脱MVC。
看个例子,这是一个可能的订单管理接口实现,只需要编写下面代码,无效额外的继承和配置:
/** * @path("/orders/") */ class Orders { /** * 获取所有订单 * @route({"GET","/"}) * @return({"body"}) 此注释表示将函数返回值作为body输出 */ public function getAllOrders() { return Sql::select('*')->from('orders')->get($this->db);//数组默认将被转换成json输出 } /** * 获取指定的订单信息 * @route({"GET","/*"}) *是通配符,匹配任意/orders/的子目录 * @param({"id", "$.path[1]"}) 提取路径中的第二节作为参数$id,如/orders/123中的123 * @return({"body"}) */ public function getOrderById($id) { return Sql::select('*')->from('orders')->where('id=?',$id)->get($this->db); } /** * 创建订单 * @route({"POST","/"}) * @param({"goods_info", "$._POST.goods"}) * @return({"body"}) */ public function createOrder($goods_info){ $order_id = Sql::insertInto('orders')->values($goods_info)->exec($this->db)->lastInsertId(); return ['order_id'=>$order_id]; } /** * @property 依赖注入点,可通过配置指定$db的示例 */ public $db; }
框架通过@注释定义路由和绑定参数,另外还有一些有用的高级特性:依赖注入、自动化接口文档、接口缓存等。
@注释
Apigility by Zend Framework 2.
Phalcon C扩展 简单的路由,超高的效率
居然没看到symfony2的 symfony2
基于symfony2的一些web service的bundle
FOSRestBundleFOSOAuthServerBundleJMSSerializerBundleNelmioApiDocBundleRequestLimitBundleRateLimitBundleBazingaHateoasBundleKnpJsonSchemaBundleLexikJWTAuthenticationBundleResourceBundleSerializedResponseBundleNelmioCorsBundle 还有silex
推荐一个 recess 应该会对你有所启发,restful 关键不在于框架的选择,而是你如何理解、实现restful。相比于其他框架,我更喜欢 recess 使用 Annotation 来实现的Router的方式,但显然性能差了点。当然它能在 Annotation 数据跟权限的 Validation 更好了。
ToroPHP 居然没人推荐这个 专门为restful api设计的啊。
楼主的话有定的道理,laravel号称巨匠级,那是自称。用了symfony再看lavravel,其实很糙……包括orm,实在是很弱啊……内部写法太不OO了。 个人认为,laravel就是个阉割了的速成版symfony2。不知大家怎么看?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
必须提 Yii2
一提到rest,就非得支持啥put、delete这些请求,感觉很无聊,我认为post和get就能应付的了我们所有的请求了。
楼上吐槽php写API必要有一堆条件判断的朋友,restful这个难道不判断get/post/put/delete条件语句,还有更好的办法吗?
若是说真的好,golang最好
SlimFramework,挺有趣的!赞
推荐一款非常适合RESTful和微服务接口的框架 PHPRS@github
让你在这些场景下彻底摆脱MVC。
看个例子,这是一个可能的订单管理接口实现,只需要编写下面代码,无效额外的继承和配置:
框架通过
@注释定义路由和绑定参数,另外还有一些有用的高级特性:依赖注入、自动化接口文档、接口缓存等。Apigility by Zend Framework 2.
Phalcon C扩展 简单的路由,超高的效率
居然没看到symfony2的 symfony2
基于symfony2的一些web service的bundle
FOSRestBundle
FOSOAuthServerBundle
JMSSerializerBundle
NelmioApiDocBundle
RequestLimitBundle
RateLimitBundle
BazingaHateoasBundle
KnpJsonSchemaBundle
LexikJWTAuthenticationBundle
ResourceBundle
SerializedResponseBundle
NelmioCorsBundle
还有silex
推荐一个 recess 应该会对你有所启发,restful 关键不在于框架的选择,而是你如何理解、实现restful。相比于其他框架,我更喜欢 recess 使用 Annotation 来实现的Router的方式,但显然性能差了点。当然它能在 Annotation 数据跟权限的 Validation 更好了。
ToroPHP 居然没人推荐这个 专门为restful api设计的啊。
楼主的话有定的道理,laravel号称巨匠级,那是自称。用了symfony再看lavravel,其实很糙……包括orm,实在是很弱啊……内部写法太不OO了。
个人认为,laravel就是个阉割了的速成版symfony2。不知大家怎么看?