是否存在过度使用PHP';s include()?

是否存在过度使用PHP';s include()?,php,include,Php,Include,我正在使用include来拉入我正在使用的各种函数,现在我开始使用include来拉入HTML/PHP的块。是否存在过度使用includes的情况?我认为这取决于代码的可读性。如果没有参与您的项目的人很难理解您的代码,那么是的,include被过度使用。如果您只使用include,那么我将研究另一种方法 例如,如果每个函数都有一个单独的文件,那么可以考虑将它们全部放在一个文件中,或者将它们与类似的函数放在一起。一旦您在阅读自己不久前编写的代码时遇到问题,这肯定是太多了 我建议使用面向对象的PHP

我正在使用include来拉入我正在使用的各种函数,现在我开始使用include来拉入HTML/PHP的块。是否存在过度使用includes的情况?

我认为这取决于代码的可读性。如果没有参与您的项目的人很难理解您的代码,那么是的,include被过度使用。

如果您只使用include,那么我将研究另一种方法


例如,如果每个函数都有一个单独的文件,那么可以考虑将它们全部放在一个文件中,或者将它们与类似的函数放在一起。

一旦您在阅读自己不久前编写的代码时遇到问题,这肯定是太多了

我建议使用面向对象的PHP编程,并使用自动加载程序,以尽可能避免include/require。过度使用include/require通常会导致无法阅读和维护的意大利面代码,这是非常糟糕的

在小项目中,我通常只有一个require语句来引入自动加载功能,在更大的应用程序中,我使用Zend Framework,我完全依赖Zend_加载程序

从纯粹主义者的角度来看,我会说:在您自己的代码中超过3个include/requires(没有第三方libs)太多了:

  • 一个用于包含一些初始化内容
  • 一个用于加载自动加载程序类/函数
  • 还有自动装弹机里的那个。实际上应该只有一个函数包含/需要文件。然后,该函数或方法可以在扩展的autoloader类中重用

  • 我通常会坚持这个原则。

    这实际上是一个架构和优化的问题。与其讨论每个脚本的最佳包含数,我建议使用模板引擎,例如,因为它允许您:

  • 将标记与程序逻辑分开
  • 使用模板标记和内置函数可以大大简化开发
  • 缓存预处理的PHP文件,使整个过程对用户来说快得多

  • 你可以过度使用任何东西,但它可能不会对你造成太大的伤害(只是一些额外的数据)。您必须记住,像Drupal和Wordpress这样的大型项目即使不是数千个,也包括数百个

    如果你沉迷于HTML,你可能会有点绝望。我个人会很好地了解一种合适的模板语言,甚至是一个帮助您进入MVC或MVT状态的框架。它使维护它比到处追踪包含要容易得多,而且(更重要的是)将95%的逻辑保留在演示文件之外。哦,他们可以用一种更加程序化的模块化方法维护您的数据库

    基本上,框架为您提供了很多开发好处;)


    和都是很好的框架,但如果你只是想看看模板,那就试试吧。

    我只是想在我的评论中加上这一点,但是是的,OOP基本上切断了这么多的包含+1用于向Zend_装载机倾斜。另外,ot并没有真正阻止每次需要文件时都执行包含函数,但它确实有助于停止混乱的代码并添加更精简的系统。@robertpitt:当然它仍然会执行包含/要求,但我相信可维护性限制远低于任何技术限制。这些类似吗去MODx?不太可能。MODx是一个完整的内容管理系统。一个“框架”并不真正关心你用它做什么,只是给你指导方针和方法。只是为了模糊一些东西,大多数内容管理系统都是建立在自己的框架之上的,允许人们对其进行扩展。好的。谢谢你的澄清。这是一个关于你的页面的经验法则。我试着在编写代码时牢记这一点,这也是我试图使代码更易于管理的原因之一。目前,我将我的函数分为三个文件:一个类文件、一个查询生成器文件和一个db connect文件。我只是想找到一种使事情变得简单一点的方法,看起来使用includes可能不是我将要使用的方法。我同意使用OOP方法,因为之前的文章中我将不得不研究模板引擎。我想这可能是我必须走的路线。