设为首页|加入收藏 精品推荐:
返回首页>>当前位置:主页 > php随笔 >

php框架PHPixie与Laravel的对比

来源:未知 | 作者:技术小白 | 点击:
php框架PHPixie与Laravel的对比
版别体系
这两个结构现已走了很长一段路,假设您在2年前对它们了解,那么您今天可能根柢不认识它们。在这方面,它们都不同于symfony,后者的改动要慢得多,甚至2.7和3.0版别之间的差异也不是很大。但是,假设将其与Linux发行版进行比较,则Symfony类似于Debian,Laravel类似于Ubuntu,PHPixie类似于Arch。PHPixie运用翻滚发布方法,全部新功用和过错修改当即进入母版并获取版别标签,从而使它们赶快可用。但是必须更细心地完结“ composer update”,并依照更改进行操作。在这里,我将当即提醒您,假设您运用“ composer install”,那么您将一向设备相同的版别,毫无疑问可以等候。这种方法迫使结构开发人员考虑向后兼容性,而不损坏现有的API。成果,您将代码与结构一同进行了一些晋级,然后您就不必考虑Laravel 4跳到Laravel 5了,那里的全部内容都当即改动了,现在Laravel 4上的代码被认为是旧的。

php框架PHPixie与Laravel的对比

实行功率

有了PHPixie的速度,全部都坚持了原样,并且速度也越来越快,因为路由代码和内核本身并没有太大改动,它仅获得了新的库,这些库只需在您运用它们时才会影响速度。Techempower的基准检验标明,在HHVM中laravel的速度也赶不上phpixie。原则上,我很少听到Laravel为作业速度而赞赏,而是为展开速度而赞赏,因而功用很可能从来没有被优先考虑。


入门难度

毫无疑问,Laravel,laracasta,外墙,教程中的各种片段以及现成的绑缚包都使初学者甚至可以在最短的时间内创建一个网站,现在,它也可以直接由工匠运用。全部这全部都归因于结构本身的坚固性,虽然结构由组件组成,但是Laravel本身将它们合并为一个全体。PHPixie是严峻模块化的,因而甚至没有一个DI容器,并且全部依靠项都是通过独自的工厂构建的,因而,您需求了解更多暗地情况。但是跟着时间的消逝,我会说半年以来,学习曲线发生了改动。PHPixie是从头开始构建的,全部组件都是依据一个模范创建的,通过了解结构的一部分,使其更易于理解另一部分,从而使代码调试愈加简略。到那时,在Laravel中,您将花费许多时间运用不同的方法和质量运用不同的开发人员的代码。但是,假设外墙以及全部对您真实重要的东西,那么可选的DI组件将使您获得相同的成果。

数据库操作

数据库和ORM组件展开最快,归于结构的最佳组成部分。模型清楚地散布到存储库,央求和实体本身。扩展不是承继模型的某些基础类,而是由Decorator形式实行的,这使您的代码完全独立于运用基础并通过底子检验的逻辑。即运用于构建查询,您也可以运用多种语法。当然,杀手级功用是它们都可用于SQL数据库和Mongo,包括不同数据库中实体之间的连接。Laravel在这里丢掉了许多,因为Eloquent离Kohana ORM和PHP ActiveRecord不远。与Laravel一同作业时,大多数经验丰富的开发人员都会运用Doctrine或Propel。相同,这完全取决于您的使命。


社区

Laravel开发人员无疑十分多,而PHPixie还需求许多人去发现它的夸姣。我不否定Laravel社区的夸姣,但是我期望也能有更多地人加入到PHPixie中来。


检验

PHPixie以其100%的检验掩盖率而出名。趁便说一下,在这里,不只代码掩盖范围本身很重要,并且它的可检验性也很重要。缺少戏法和外观,仅使您可以为单个类编写简短而快速的单元检验,而不必在每个检验上添加一堆依靠项。当然,在Laravel中也有检验,但是要少得多。

趁便说一句,当您检验在新的PHPUnit上工作检验时,当您打开coverage的生成时,它只会引发过错。


路由

在这里,咱们再次有范式上的差异。Laravel作为更单一的结构提供了购买模型的才干,使您可以完全越过控制器代码,例如:

$router->bind('user', function ($value) { return App\User::where('name', $value)->first(); });

其他,大多数路由都具有称号,并且动态路由完全不存在(但是可以仿照)。PHPixie的路由组件更具自治性,甚至控制器的概念也不在其间,它所做的只是将央求解析为一组参数并将其传递给用户。反过来,这答应运用嵌套规则和前缀进行更活络的装备。另一个区别是,在PHPixie中,路由是通过数组存储在装备文件中的,而在Laravel中是通过编程设置的,假设存在带有提示的IDE,这将愈加便利。

模板引擎

PHPixie运用PCP作为模板引擎,这意味着全部常用功用(例如ucwords,substr,trim等)都现已可用,而不必学习新语言。PHPixie设法无需编译即可获得盛行模板的全部优势,因而,您也可以运用模板承继和块支撑。此外,您将在任何IDE中突出显示无缺的语法,并运用Xdebug进行调试。Laravel Blade本身与Twig并没有太大区别,只是语法略有不同,但并没有带来任何新改动。

HTTP

PHPixie根据PSR-7构建,它通过添加自己的包装器扩展了功用,但是您一向可以拜访纯PSR-7央求。它还可以接纳来自外部的央求,这使您可以轻松地在ReactPHP上工作结构。因为无状态架构以及ReactPHP,这也是可能的,这意味着在实行央求之后,结构坚持原样,并且可以当即处理下一个而不重新启动。Laravel是根据symfony的HTTP组件构建的,该组件构建了它的央求,您仅可以运用symfony / psr-http-message-bridge将它们转换为PSR-7 ,这至少会在每个央求上添加开支数据。虽然鄙人一个版其他Laravel中最有可能将完全切换到PSR-7。

认证方式

向Laravel添加身份验证十分简略,该装备实际上是开箱即用的,但是实现仍然有许多不足之处。在PHPixie中,“ remember_me”的实现是根据最佳实践的,即每个设备为一个帐户具有自己的令牌,同时每次运用时也会进行更新。只是因为其可丢掉性而盗取这样的令牌是没有意义的。其他,在PHPixie中设置授权愈加活络,您可以在一个装备中创建多个令牌,运用会话或仅运用cookie以及现在的交际授权。

组件

与PHPixie一样,Laravel也由组件组成,例如,无需结构本身即可运用Eloquent十分简略。但是其他组件,例如相同的身份验证,与结构本身的联络更多,而将它们与另一个结构一同运用并不是那么简略。PHPixie最初被认为是独立的组件,很重要的是,在github上,每个PHPixie组件都坐落独自的存储库中,而Laravel将全部内容存储在一个项目中,并为组件提供只读存储库。


最终,Laravel现在被过度夸大了,咱们不应该也不可能只需一个结构一家独大,我信任百花齐放的编程世界才更夸姣。
php框架PHPixie与Laravel的对比

您可能对以下内容感兴趣

小编分享

  • 广告位一
  • 广告位二
  • 广告位三
  • 广告位四
  • 广告位五

最新评论文章

回到顶部