当前位置: 首页 > 后端技术 > PHP

【PhpBoot】为快速RESTfulAPI开发而设计的PHP框架

时间:2023-03-29 19:39:59 PHP

PhpBootPhpBoot是为快速RESTfulAPI开发而设计的PHP框架。可以帮助开发者更专注于业务本身,把原来开发中不得不做的重复枯燥的事情交给框架去做,比如编写接口文档、参数验证、远程调用代码等。FeaturedPhpBoot框架提供了很多主流的特性,比如ORM、依赖注入等,这些特性都是经过精心设计和挑选的(部分是第三方开源代码,比如PHP-DI),但是和其他框架相比,最PhpBoot的显着特点是:1.你一定见过以面向对象的方式编写的界面请求->get('名字');$offset=$request->get('offset',0);$limit=$request->get('limit',10);...返回新的响应(['total'=>$total,'data'=>$books]);}publicfunctioncreateBook(Request$request)...}很多主流框架都需要用类似的代码编写接口。但是这种代码的一个问题是方法的输入和输出隐藏在实现中,这不是我们通常提倡的编码方式。如果对代码有更高的要求,也可以实现一层Service接口,在Controller中直接调用Service接口即可。使用PhpBoot,您可以以更自然的方式定义和实现接口。上面的例子,在PhpBoot框架中实现是这样的:/***@path/books/*/classBooks{/***@routeGET/*@returnBook[]*/publicfunctionfindBooks($name,&$total=null,$offset=0,$limit=10){...return$books;}/***@routePOST/*@paramBook$book{@bindrequest.request}将$book绑定到httpbody*@returnstringidofcreatedbook*/publicfunctioncreateBook(Book$book){$id=...返回$id;}}上面两段代码的执行效果是一样的。可以看到PhpBoot写的代码更符合面向对象编程的原则。上述代码的完整版本请参考phpboot-example。2.轻松支持SwaggerSwagger是目前最流行的界面文档框架。虽然很多框架可以通过扩展来支持Swagger,但是一般不需要写很多额外的注解,或者只能导出基本的路由信息??,而不能导出详细的输入输出参数。PhpBoot可以轻松完成上述任务,而无需增加额外的编码负担。下图是findBooks对应的文档。有关更多信息,请参阅文档和在线演示。3.简单易用的分布式支持使用PhpBoot可以轻松构建分布式应用。通过下面的代码,你可以很方便的远程访问上面例子中的Books接口:$books=$app->make(RpcProxy::class,['interface'=>Books::class,'prefix'=>'http://x.x.x.x/']);$books->findBooks(...);同时也方便发起并发请求,如:$res=MultiRpc::run([function()use($service1){return$service1->doSomething();},function()use($service2){返回$service2->doSomething();},]);更多细节请参考文档4.IDEFriendlyIDE的代码提示功能让开发者可以轻松很多,但是很多框架并没有很好地做到这一点。您必须阅读文档或代码才能知道如何使用某个功能。PhpBoot从一开始就非常注重框架的IDE友好性,尽量让框架保持准确的代码提示。例如下图是PhpStorm下DB库的使用:主要特点基于注解的路由定义接口参数双向绑定Validation依赖注入DBORM自动文档和接口工具分布式支持(RPC)Hook工作流引擎(开发中。..)安装配置installcomposer(安装可以忽略)curl-shttp://getcomposer.org/installer|phpinstallPhpBootcomposerrequire"caoym/phpboot"index.phploadPhpBootloadRoutesFromPath(__DIR__.'/App/Controllers');$app->dispatch();help和文档在线文档QQ交流群:185193529我的邮箱caoyangmin@gmail.com