写代码需要站在巨人的肩膀上,将主要精力集中在自己所需要实现的业务上面,避免反复搭建基础服务,重复造轮子。PHP框架就是这样一些巨人的“肩膀”,使得我们“站”得更高,“看”得更远。像PHP本身有着不断迭代和升级的历史一样,PHP框架也有着自己的发展历史,从简单到复杂,从低级到高级,从面向过程到面向对象。
目前,比较流行的是以Laravel5.2+,Yii2,ZendFramework2.0,Symfony2等为代表的新一代框架。这一些框架,普遍和自己的“过去”有着很大的“决裂”,基本都吸收了当下最为流行的编码风格和设计模式,完成了“华丽转身”。而这些流行的框架,彼此相互学习,在设计上有非常多的相似之处,比如,在类的自动加载上,使用依赖注入容器等等。
在这些优秀的框架中,Yii2是比较突出的。Yii2的前身是Yii1,但是是重新写的,二者并不兼容。Yii2官方的定义是高性能,基于组件的PHP框架,其特性是快速、安全、专业,适合构建各种规模的web项目。但个人认为,Yii2还具有其他一些突出的优点:
1.简洁——Yii2编程哲学就是简洁优雅,代码非常简单易懂,就像其谐音“易”一样,易学易用;其其代码注释非常规范,IDE定位效果非常好。而且社区活跃,官方论坛有中文区,国内论坛人气也挺不错,知识获取容易。
2.清晰——相比其他的框架,Yii2设计的整个脉络非常清晰,有其鲜明的特点,容易梳理和掌握。比如,Yii2的基石是Object和Component(组件),对类的功能进行扩展,提出了属性(pr