php框架(phpGrace)
刚接触php的同学想先了解一下框架。现在有很多眼花缭乱的php框架,但是对于没有接触过框架的新人来说学习可能是个问题。其实框架很大程度上是使用习惯的问题。还有一点就是选择一些经常维护的框架。不要学一些冷门的框架。如果以后不维护,那就是浪费。
现在推荐几个PHP框架供参考:
1. Symfony: 绝对的强大,但对于初学者略困难,尤其是PHP初学。应该是法国人的老牌Framework,非常庞大,适合企业级别的项目。许多配置用YAML,而且对于环境的要求很比较麻烦。
2. CodeIgniter: 绝对的简单,但对于大中型应用会显得捉襟见肘,扩展起来不是特别方便,当系统变庞大起来,开发效率会显得低下。官方文档非常详细,社区也很大,用的人很多。缺点是没有一套很好的ORM库,默认的Model基于ActiveRecord,但是其实就是一个SQL的延伸。
P.S:个人感觉CI更适合初学者,有很多东西需要深挖,比如钩子机制、框架流程、面向对象、扩展框架核心等等。和zendframk相比,它的语法还是比较简单的,有一些配套书籍可以参考。虽然年代久远,但仍有参考价值。并且详细的帮助文档,ci的官方博客有UserGuide,可以帮助你快速了解相关语法和功能,非常详细,ci框架本身也做了很多评论。
3. Zend: 庞然大物,结构松散。强大倒也强大。所谓的官方PHP框架,架构很松散,可以按需要取用。一开始不是很好学习,但是如果真正懂了的话效率也很高。由于有Zend在背后,所以不会担心不维护的问题。缺点是文档虽然看起来很多,但是并不容易看懂。
4.ThinkPHP:国人开发的框架,先学习基础知识,然后学习thinkphp,里面的代码规范清晰,良好的数据模型操作,业务模块化编程,单一入口这些都是可以很好借鉴的地方。建议新手先不要使用框架,如果项目需要的话,使用框架之余,可以看看框架的源码。
P.S: php固有的缺点使得php的框架必须是轻量级的。建议使用thinkphp。官方文档齐全(对初学者很重要),源代码有详细的中文注释。看完源代码,几乎可以完全掌握整个框架的运行机制,有利于你在thinkphp的基础上进行二次开发或者重构。对于初学者,也推荐thinkphp,简单易用
5.Yii:具有高度的可重用性和可扩展性,是纯粹的面向对象的。Yii中的一切都是独立的可被配置,可重用,可扩展的组件。更重要的是Yii有着越来越多的扩展库。主要由使用者贡献出的组件组成,这可能有助于大大减少您的开发时间。
6.Laravel:比CI稍微复杂一点,比Symfony容易学。但是Laravel在中文上的支持似乎还不够。建议直接去官网看英文很简单。很好读。
个人建议是先从基础入手,深入学习,再使用框架。当再次使用CI、Zend等PHP框架时,我们会发现它们本质上是一样的,我们知道为什么。在国内,英语不是很推荐。thinkphp或者CI文档比较全。推荐英语比较好的yii。建议新手先掌握PHP,再学习考虑框架。
P.S:如果你是PHP新手,首先要学习PHP的基础,框架要知道它的思路和设计模式。但是如果长期从事二次开发,建议学习设计模式而不是框架,因为目前大部分系统都没有使用开源的通用框架,所以建议先不要接触框架。(先打好基础,再考虑框架。 框架里有很多精炼的东西,很容易让人知道为什么,不利于基本功的训练。
⇛ 备份网边肖老师张企鹅: