在上一篇文章中,小编为您详细介绍了关于《电饭煲谁牌子最好?联想家悦C1070E主板坏了》相关知识。本篇中小编将再为您讲解标题php谁框架适合做api?php咋做内存缓存。
想找个php框架做json格式的api, 由于php基础不好,自己没那么多时间去重新写, 所以想找个框架来学①下直接做接口,提供给移动设备数据, 自己主要的精力还是要放在移动端,所以高手们推荐①个框架吧。
推荐 PhpBoot , 为快速开发 RESTful API 设计的PHP框架,它可以帮助开发者更聚焦在业务本身, 而将原来开发中不得不做, 但又重复枯燥的事情丢给框架, 比如编写接口文档、参数校验和远程调用代码等。
特色
PhpBoot 框架提供许多主流的特性, 如IOC、AOP、ORM等。 这些特性都经过精心设计和选择(有些是第③方开源代码,如 PHP-DI),但和其他框架相比较, PhpBoot 最显著的特色是:
①. 以面向对象的方式编写接口
你肯定看到过这样的代码:
// **不用** PhpBoot 的代码class BookController{ public function findBooks(Request $request) { $name = $request->get(\'name\'); ... return new Response([\'total\'=>$total, \'data\'=>$books]); } public function createBook(Request $request) ...}
很多主流框架都需要用类似代码编写接口。但这种代码的①个问题是, 方法的输入输出隐藏在实现里, 这不是通常我们提倡的编码方式。如果你对代码要求更高, 你可能还会实现①层 Service 接口, 而在 Controller 里只是简单的去调用 Service 接口。而使用 PhpBoot, 你可以用更自然的方式去定义和实现接口。上面的例子, 在 PhpBoot 框架中实现是这样的:
/** * @path /books/ */class Books{ /** * @route GET / * @return Book[] */ public function findBooks($name, } /** * @route POST / * @param Book $book {@bind request.request} bind $book with http body * @return string id of created book */ public function createBook(Book $book) { $id = ... return $id; }}
上面两份代码执行的效果是①样的。可以看到 PhpBoot 编写的代码更符合面向对象编程的原则, 以上代码完整版本请见 caoym/phpboot-example。
②. 轻松支持 Swagger
Swagger 是目前最流行的接口文档框架。虽然很多框架都可以通过扩展支持Swagger, 但①般不是需要编写很多额外的注释, 就是只能导出基本的路由信息, 而不能导出详细的输入输出参数。而 PhpBoot 可以在不增加额外编码负担的情况下, 轻松去完成上述任务,下图为findBooks对应的文档。更多内容请见 PhpBoot ②.⓪ 文档 和 在线 Demo。
③. 简单易用的分布式支持
使用 PhpBoot 可以很简单的构建分布式应用。通过如下代码, 即可轻松远程访问上面示例中的 Books 接口:
$books = $app->make(RpcProxy::class, [ \'interface\'=>Books::class, \'prefix\'=>\'\' ]);$books->findBooks(...);
同时还可以方便的发起并发请求, 如:
$res = MultiRpc::run([ function()use($service①){ return $service①->doSomething(); }, function()use($service②){ return $service②->doSomething(); },]);
更多内容请查看 RPC - PhpBoot ②.⓪ 文档
④. IDE 友好
IDE 的代码提示功能可以让开发者轻松不少, 但很多框架在这方面做的并不好, 你必须看文档或者代码, 才能知道某个功能的用法。PhpBoot 在①开始就非常注重框架的 IDE 友好性, 尽可能让框架保持准确的代码提示。比如下图是 DB 库在 PhpStorm 下的使用:
可以看到, IDE 的提示是符合 SQL 语法规则的, 并不是简单罗列所有 SQL 指令。
主要特性基于 Annotation 的路由定义接口参数双向绑定参数校验依赖注入数据库ORM文档输出RPCAOP帮助和文档
PhpBoot - PhpBoot ②.⓪ 文档
oschina.net 的页面
就本地缓存而言.
yac和apcu扩展.
laruence/yac · GitHub
liexusong/pcache · GitHub
都有开源,不过都要配php扩展,需要了解php内核.\", \"extras\": \"\", \"created_time\": ①④④⑨⑧①⓪⑧③① · \"type\": \"answer
apcu和memcached本地跑出来benmark差不多。。。鸟哥的yac性能好很多,但是有小概率warning出错,解决方法是设handler使之抛出异常在处理就ok了。。。\", \"extras\": \"\", \"created_time\": ①④⑦②③⑨③⑥①④ · \"type\": \"answer
编后语:关于《php谁框架适合做api?php咋做内存缓存》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《单反相机的肩屏有什么样用?Lytro 二代提醒要清除内存卡》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器