php谁框架适合做api?php咋做内存缓存

发表时间:2017-12-20 06:48:01 作者: 来源: 浏览:

在上一篇文章中,小编为您详细介绍了关于《电饭煲谁牌子最好?联想家悦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 二代提醒要清除内存卡》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

相关资讯推荐

相关应用推荐

玩家点评

条评论

热门下载

  • 手机网游
  • 手机软件

热点资讯

  • 最新话题