版本系统这两个框架已经走了很长一段路,如果您在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上的代码被认为是旧的 。

文章插图
执行效率有了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作为更单一的框架提供了购买模型的能力,使您可以完全跳过控制器代码,例如:
【php框架PHPixie与Laravel的比较】$router->bind('user', function ($value) { return AppUser::where('name', $value)->first(); });
另外,大多数路由都具有名称,并且动态路由完全不存在(但是可以模拟) 。PHPixie的路由组件更具自治性,甚至控制器的概念也不在其中,它所做的只是将请求解析为一组参数并将其传递给用户 。反过来,这允许使用嵌套规则和前缀进行更灵活的配置 。另一个区别是,在PHPixie中,路由是通过数组存储在配置文件中的,而在Laravel中是通过编程设置的,如果存在带有提示的IDE,这将更加方便 。
推荐阅读
- Nginx和php-fpm部署到不同的服务器
- php代码渗透测试 后门分析篇
- VScode设置格式化php代码插件
- 对于PHP开发常见的问题总结
- 产品经理必须了解的App三大技术框架
- 学习KOA框架
- 教你如何用ajax发送数据给PHP,让你轻松掌握
- LNMP架构下各项配置优化总结
- 如何解决最新PHPstudy”后门事件”网站被挂木马
- php三个函数、两种选择防止sql注入
