【发布时间】:2012-11-15 11:58:26
【问题描述】:
我正在开发一个以 php 编程方式编写的 CMS 应用程序。但是现在随着新功能的添加,应用程序的某些部分变得难以处理。它已经到了一个复杂的阶段并且我们需要尊重复杂性。
所以,现在我们计划使用面向对象的编程风格来构建它,这在控制方面是一种更好的方法。但是,它很难做到从哪里开始?
我的意思是,哪些部分将转换为类,模型部分到底是什么,而且我希望能够管理对应用程序控制的集中控制,因为它是一个 CMS,它将创建域和子域。
我很清楚的一点是数据库类将需要选择、更新、插入、删除功能和连接详细信息,但其他模块如 登录/注册、付款流程,使用模板的电子邮件功能、日志记录和调试、异常处理(Messa ges 代表成功和失败)。将它们转换为类会有所不同吗?
是否有任何框架或 CMS,(尝试参考 wordpress/codeignitor,但我只能采用其中的几个功能)我可以参考哪个做这样的事情?
我知道这有点描述性,但我是面向对象的 php 编程的新手,我从未构建过任何应用程序。这是一个学习过程,我希望得到专家的建议/意见,因为我早先做了一个决定。
感谢您的宝贵时间
【问题讨论】:
-
试试
Symfony2吧,它学起来并不容易,但最后当你把所有的代码都重构成包时,维护起来会容易得多。 -
@TomaszKowalczyk 我想要一些简单的东西,因为学习曲线会妨碍时间。我可以理解它会在一段时间内有所帮助,但我们正在尝试构建根据我们的要求定制的东西,也许是写作我们自己的类,但是通过使用一些参考作为框架 bcoz 没有必要重新发明已经完成的内容。对吗?
-
“使用框架” 甚至没有远程回答这个问题。
-
@rdlowrey 你总是可以为你不知道的应用程序的类结构布置UML。为什么要重新发明轮子?
-
@E_p 流行的框架是 OOP 的一个不合标准的例子。它们是 MVC 的一个糟糕示例。 UML 类结构与框架无关。您不应该重新发明轮子,但也不应该使用您不理解的第三方代码。此外,框架在 PHP 领域是一种感染。我会考虑阅读 ircmaxell 的文章,Framework Fixation - An Anti Pattern,因为在这个评论区他比我更有说服力。
标签: php oop frameworks content-management-system procedural-programming