这两个框架都是迭代非常快速的框架。它们都不同于symfony,后者的变化要慢得多,甚至2.7和3.0版本之间的差异也不是很大。但是,如果将其与Linux发行版进行比较,则Symfony类似于Debian, Laravel 类似于Ubuntu,PHPixie类似于Arch。PHPixie使用滚动发布方法,所有新功能和错误的修正后立即进入主版本。
PHPixie的速度非常快,并且会越来越快,因为它的路由代码和内核本身并没有太大变化,它的新版本仅仅是添加一些新的库,而这些库只有在您使用它们时才会影响速度。Techempower的基准测试表明,在HHVM上,laravel的速度也赶不上phpixie。我们很少听到Laravel因为他的效率而被赞美,基本都是因为它的优雅而获得赞美,在这方面,PHPixie则显得执行效率太过优异。
Laravel框架由组件组成,但是Laravel本身将它们合并为一个整体。PHPixie是严格模块化的,因此甚至没有一个DI容器,并且所有依赖项都是通过单独的工厂构建的。PHPixie是从头开始构建的,所有组件都是根据一个范例创建的,通过了解框架的一部分,你就可以更好地理解其它部分,从而了解整个框架,从而使代码调试变得更加容易。
数据库操作数据库和 ORM 组件发展最快,他们是框架的最佳组成部分。两者都可以轻松地和第三方orm组件配合使用,laravel默认和eloquent整合,而PHPixie更多选择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使用PCP作为模板引擎,这意味着所有常用功能(例如 ucwords , substr , trim 等)都已经可用,而不必学习新语言。PHPixie无需编译即可获得流行模板的所有优势,因此,您也可以使用模板继承和块支持。此外,您将在任何 IDE 中突出显示完整的语法,并使用Xdebug进行调试。Laravel Blade本身与Twig并没有太大区别,只是语法略有不同,但并没有带来任何新变化。
组件与PHPixie一样,Laravel也由组件组成,例如,无需框架本身即可使用Eloquent非常简单。但是其他组件,例如相同的身份验证,与框架本身的联系更多,而将它们与另一个框架一起使用并不是那么容易。PHPixie最初被认为是独立的组件,很重要的是,在 github 上,每个PHPixie组件都位于单独的存储库中,而Laravel将所有内容存储在一个项目中,并为组件提供只读存储库。
最后,Laravel目前被过度夸大了,我们不应该也不可能只有一个框架一家独大,我相信百花齐放的编程世界才更美好。