我应该开始学习PHP Framework吗?

her*_*oix 5 php oop frameworks

我很久以前就已经熟悉了PHP基础知识,函数式编程.但今年,在我的第二学期,我学习了面向对象的Java编程.所以我想将我的OOP知识应用于PHP.但我发现很难想到任何体面的利用.它不像Java中的一切都是对象.我认为以旧方式连接到数据库更容易,编写一些简单的日志或注册函数等.

所有这些例子http://php.net/manual/en/language.oop5.php只是让我了解语法,而不是使用它的方法.

所以我开始思考.也许是因为我想在没有任何框架的情况下应用OOP,没有它就没有用?如果是这样 - 任何易于学习的框架建议?

jsa*_*nen 9

OOP是一种用于将代码组织成有意义的,可重用的实体的方法,并不是单独回答"如何最好地组织代码来创建Web应用程序"的问题.

大多数Web框架使用模型 - 视图 - 控制器架构(MVC)和OOP.为了理解Web框架的工作原理,我建议您也要熟悉MVC(起点,请参阅"编码恐怖:理解模型 - 视图 - 控制器")

此外,无论使用何种框架,在创建Web应用程序时理解一些基本概念至关重要.至少,熟悉会话的工作方式(http://www.php.net/manual/en/book.session.php),以及如何访问数据库(PDO用于通用数据库连接,MySQL用于MySQL) - 特定绑定等).

至于选择什么样的Web框架,选项很多.因此,请考虑以下指示作为信息:

  • Yii Framework有一个非常干净的基于OOP的设计(http://www.yiiframework.com/)
  • 另一个流行的面向对象的PHP框架是CakePHP(http://cakephp.org/)
  • 对于更轻量级的框架和更少的开销,请考虑CodeIgniter(http://codeigniter.com/)
  • 实际的PHP Web框架是Zend公司(http://framework.zend.com/).它的巨大,全面,良好的支持,但并不总是旅行光线的完美伴侣.
  • 另请注意,如果您根据MVC组织代码,那么在不使用任何框架时您可能会感到最舒服

还要注意,与Java不同,在PHP中,面向对象的功能在其版本4和版本5中被缓慢添加.因此,为早期版本的PHP设计的许多Web框架可能无法为您提供您想要的干净的面向对象设计.因此,在选择框架时,请考虑是否选择向后兼容(PHP4支持),还是在框架中寻求干净的,面向对象的设计(主要是需要PHP5).

  • 很高兴看到一个答案,而不建议你个人喜欢的框架.+1 :) (2认同)
  • 此外,在学习如何做"框架方式"之前,我会建议任何人如何在低级细节上工作.我基本上是指会话,cookie,http标题等概念. (2认同)