LMLPHP后院

谈谈PHP框架Laravel和CodeIgniter技术

maybe yes 发表于 2017-01-04 21:34

关于 PHP 框架,好用的不好用的出名的不出名的特别多。本文的标题选择了两个比较有代表性的 PHP 框架,并不是代表其他的框架就不好,也不是代表这两个框架就很好。在我的开发理念里,追求代码的简单,如果一个框架去做一件事情能写更少的代码,更完美的解决问题,写起来更方便,它就是好框架,而不是一些不适用的 MVC OOP AOP。

凭我对 PHP 的了解,市面上的框架 ThinkPHP Yii ZendFramework CakePHP Laravel 等我都使用过,所以对 PHP 程序特别熟悉。

回到对 PHP 框架的理解,我认为如果要敏捷开发的话,市面上的框架其实都是不合适的,但是如果一个人没有开发经验,而又要应付工作,那就需要用到框架,对框架的选择尽量轻量级,不是越出名越好,其中的奥秘只有真正懂得的人才能理解吧!

市面上 PHP 框架的两个方向。一种以 CodeIgniter 为代表,讲究兼容实用性,里面有很多作者的经验库,但开发流派不同导致框架会有所不同,一般人不一定能接受,因为 PHP 主要是 WEB 开发,所以在开发的过程中会出现不同的解决问题的方式,这个就是应用啦,是讲不完的。而另一种以 Laravel 为代表,追求时尚的语言特性和语法糖,喜欢发展生态圈,性能低下,稳定性和安全性都比较低。但依然能够吸引到不少脑残粉。不过这类框架也不是一无是处,可以供交流和学习使用

回到对框架的选择上,我自己开发 PHP 应用只用 LMLPHP,这个我完全了如指掌。而如果让我选择其他的 PHP 框架,我更愿意选择 CodeIgniter,因为我更喜欢实用和性能高一点的框架。

在我看来,Laravel 框架就是装逼,IOC 控制反转和依赖注入这样的东西,理论上是想让代码更灵活,但如果接口和实现的关系瓦解了,还是需要手动的修改 PHP 文件来重新绑定。其实这些东西是为 Java 开发服务的,放到 PHP 这里来反而更加麻烦。Java 应用开发一般发布代码后需要重新启动服务,市面上当然也有比较厉害的人解决了这个问题,比如 JFianl 的作者。这样就会比较麻烦,于是一些比较“聪明”的人就发明了通过 XML 来配置接口和实现的关系,这就是控制反转。并且最最重要的是我觉得这些根本没用,从我这么多年开发经历来看,还没有遇到一次接口与实现的关系出问题不满足需求需要重新绑定新的实现类的,一般公司倒闭的可能性比这个都要大很多。另外就是语法糖,即使语言或框架不支持,手动用反射的技术也可以实现,即使语言不支持反射,解析文件一样可以实现。

最后,任何技术理念都不能太过于追求,语言的 OOP 支持是有点用处的,但太过的设计反而麻烦。我自己开发现在觉得 MVC 都很麻烦,很多情况下直接路由到渲染模板。也许开发到了一定的阶段才会返璞归真吧!其实软件本身真的没什么高深的东西拿的出手的,并没有什么技术含量,真正到了汇编也就是 Size 和偏移的问题。软件技术影响力大不厉害,做出牛逼的产品才是真的厉害。

2024-04-25 18:46:15 1714041975 0.012102