PHP 最佳设计实践

标签 php oop templates

好的,有一堆我这几天​​一直在想的问题。目前我有一个站点,它只是一堆 PHP 文件,MySQL 语句与 PHP、HTML 和 CSS 混合在一起,基本上是一团糟。我的任务是清理网站并为自己制定了以下要求:

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

话虽如此,这就是我目前对该网站的了解:

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

所以,了解这些事情后,我想知道是否有人对如何以最少的麻烦来做这件事有任何提示/建议。

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

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

最佳答案

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

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

尽管面向 PHP 的 OO 框架很流行,但 Rasmus 提倡一种较少面向对象的方法。他比任何人都更了解 PHP 的预期用途,以及如何利用其架构构建高性能网站。

编辑:作为对@theman 评论的回应,我承认这篇文章写得不是很好,但我认为内容很重要。按预期使用 PHP 比努力克服其弱点以使其适合 OO 模型要好。

关于PHP 最佳设计实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/447630/

相关文章:

php - 文件移动 Google Drive API v3 PHP

ruby - 从 Array 继承时获取#with_index

java - 这里抛出 IOException 是什么?

使用自定义 "bind3rd"函数时,C++模板编译错误

c++ - 如何强制编译器识别模板函数中的 lambda 类型?

具有相同名称的 Php Class 和 Trait 方法

java - 使用 Cassandra 和 Solr 的网站最有效的架构?

php - 自定义错误处理程序函数中的error_level和error_message来自何处以及如何出现?

java - 如何在构造函数中创建给定类型的新对象

c++ - 为什么 std::apply 可以调用 lambda 而不是等效的模板函数?