laravel系统开发经验(一、系统框架选择)

PHP框架选择


真正的高手,就算用脚也可以写出好代码,任何框架对于高手来说没有任何区别。”————来自一位不知道高手低手的程序员如此说道。

根据笔者的朋友实际经验来看,不同的框架就像不同的兵器,作为每日上下班手提十几公斤的习武程序员来说,兵器的选择至关重要。

实际上选择的准则只有一个:“不一定选最好的,而是选择最适合的”---笔者的朋友如此说。

1559887075394797.jpg

有些人擅长用刀,有人擅长用棍,还有些人啥都不擅长,喜欢用板砖。不同的框架实际上根据创始者的性格,也是反映了不同的性格。

 

老妈妈ThinkPhp

TP实际上一直都是国民框架,TP3.2.3是作者设计哲学的极佳提现。

如果你想要快速开始一个项目,几行代码就搭建一个网站,数据库,控制器,全都是傻瓜式操作,统统只要白菜成本,傻瓜式操作。

后续的TP5也延续了这一设计哲学,虽然有不少人说TP5有点朝laravel靠拢,但是笔者的朋友认为TP5虽然引入了composer和一些分层设计,但是核心依旧没变。

比如路由默认设计,控制器的初始化操作,前置操作,数据库的链式操作,模型层,这些与TP3.2核心思想仍然一脉相承。拟人化的感觉上来说,感觉TP有点什么事情都提前考虑好的老妈妈,在工作过程中,开发开发者,突然需要一个功能,愁眉不展的时候,查看文档,突然发现了老妈妈给你提前准备好的小礼物,好像在说:“小崽子,我就知道你肯定要用这个”。

老妈妈会知道当下最火的潮流吗?老妈妈会用最潮最新的技术吗?老妈妈永远离时髦还是有些距离的。所以需要优雅,需要潮流,需要新特性,需要与国际接轨之类的,还是建议要慎重一点考虑。

 

 

优雅艺术家LARAVEL

所有人的少年时期,班级上总是有一个女神,永远那么艳丽脱俗,永远都是不言苟笑,举手投足优雅非常,身边永远不缺追求环绕的男同学。

Laravel就是这样一个框架,从他的口号就可以看出来:“为艺术家准备的框架”,艺术家当然是高雅的,架构设计上来说,也是极尽优雅。模型分层设计,目录结构,无一处不体现着这一思想。

作者说,框架设计三分之一的时间花在命名上,可见一斑。

优雅的好处就是永远都是从容不迫,而且追求者甚多。

翻译成人话就是:程序设计上层次分明,结构完美,开发生态优秀,插件众多。

那么就优雅没有缺点了吗?

优雅最大的缺点就是离下里巴人太远,不接地气,当你要做一些脏活累活,被迫要写一些垃圾代码,想要以深圳速度快速开始一个项目的时候,那么也许还是离开优雅远一点。

 

 

要成为女娇娥的男儿郎YII

“我本是男儿郎,又不是女娇娥”。

JAVA在大型web项目上的地位无可争论,不知道多少人说java如何如何有问题,最终项目落地还是使用了java构建。比如某宝,某宝是nodejs最先大规模应用的公司,各种技术栈也是业内最先进的,但是项目构建一直都是java作为主力,直到如今主力项目的架构底层依旧是java实现。

Java的好处实际上主要有这几点

1. 强语言类型,AOP,加上spring框架的依赖注入的实现,使得即使一个新手写出来的代码也不至于太烂,后续重构和追踪错误调试比较方便。

2. 生态强大,几乎所有想到的功能都有实现的包。高并发,架构扩展,主从多数据库支持,等等这些东西应有尽有,便于大型项目构建。

 

试想一下,如果有一个JAVA开发者要设计一款PHP框架,如何设计?

YII实际上就是这样一种产物,可以在框架内部看到不少JAVA的影子。但是为何又要说“我本是男儿郎,又不是女娇娥”。

因为,PHP本身就是脚本语言,弱语言类型,而且生态远没有JAVA丰富,就算学的再像,终究是男儿身。

再说,女娇娥和男儿身,有些关键的部位也是有本质区别的。

江湖上流传已久的葵花宝典里面的名句“欲练此功。。。。”

想要练神功,是需要付出代价的。

所以YII的优点就在于可以用JAVA的方式来写php,缺点在于,没有java正宗为何不干脆直接用JAVA

 

 

写在最后的话:

综上所述,TP5LARAVEL建议大家选择,如果要走高端路线,为以后考虑的话,可以考虑LARAVEL,平时工作正常开发,可以使用TP5

对于要转JAVA开发和醉心于做大型PHP架构的,可以考虑一下YII

发表评论请留下您的大名
  • 最新评论
  • 总共1条评论
无业医生晨大夫

某个三流程序员 :真的可以评论

2019-01-19 15:49:49 回复