PHP最佳设计实践

时间:2009-01-15 17:13:16

标签: php oop templates

好的,有一堆我过去几天一直在思考的问题。目前我的网站只是一堆PHP文件,其中MySQL语句与PHP,HTML和CSS混合在一起,基本上是一团糟。我的任务是清理网站,并为自己做了以下要求:

  • 网站需要高效且布局合理(源代码),我希望能够尽可能少地编写代码。
  • 结构,表现和逻辑之间必须有很好的分离。
  • 无论出于何种原因,我都不能使用框架,需要保持代码的可维护性和“简单性”,因为未来的开发人员将会使用它。
  • 至少需要几页的管理部分。

这就是说,这就是我现在对网站的了解:

  • 包含10-12页,其中一些是完全静态的,大多数是通过数据库动态驱动的,并且有一个巨大的表单供用户填写(20-30个字段),需要进行验证和检查。
  • 网站的层次结构基本上是5-6个主页,然后是其中的子页面。

所以,知道那些我想知道的事情,如果有人有任何提示/建议,如何以最少的头痛去做这件事。

  • 在这种情况下,OO方法是否最佳?
  • 由于有很多静态页面,动态页面只需要填写的内容,最好使用某种基本模板吗?

编辑:感谢您的回答,当我说没有框架时,我基本上意味着除了PHP之外需要新语法的任何东西,因为在我之后被雇用到这个网站上工作的人可能只会知道PHP。

3 个答案:

答案 0 :(得分:12)

这是一篇关于如何组织PHP项目的文章,来自创建该语言的架构师Rasmus Lerdorf:

http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html

尽管PHP的OO框架很受欢迎,但Rasmus提倡采用较少的OO方法。他比任何人都更了解PHP的用途,以及如何利用其架构来创建高性能网站。

编辑:在回应@theman的评论时,我会承认这篇文章不是一篇很好的写作,但我认为这些内容很重要。使用PHP本来打算使用它比努力克服它的弱点以使其适合OO模具更好。

答案 1 :(得分:2)

我强烈推荐所有PHP项目的Smarty模板引擎。它为您提供了一种将逻辑与演示文稿分开的简便方法。

答案 2 :(得分:0)

看看这个SO question和答案。这是一个非常好的,简单的MVC设计,提供了一些如何改进它的技巧。如果您担心维护,那么至少您需要从逻辑中分离演示文稿(您需要一个视图和控制器)。 Smarty强制说,但它是一种框架,你将有额外的语法来学习。

在你跳过Rasmus的“无框架php mvc框架”之前,请阅读一些批评意见。任何Web应用程序结构都是一个框架,而Rasmus的方法并不是我见过的最好的方法。