是否存在过度使用PHP的include()这样的事情?

时间:2010-06-08 12:16:26

标签: php include

我正在使用includes来引入我正在使用的各种函数,现在我开始使用include来拉入大量的HTML / PHP。我是否有过度使用包含的内容?

5 个答案:

答案 0 :(得分:5)

一旦你开始阅读你刚才写的自己的代码时出现问题,那肯定是太多了。

我建议使用面向对象的PHP进行编程,并使用自动加载器尽可能避免使用include / require。过度使用include / require通常会导致难以理解且难以维护的意大利面条代码,这非常糟糕。

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

从纯粹主义的角度来看,我会说:在你自己的代码(没有第三方库)中,超过3包含/要求太多了:

  1. 一个用于包含一些初始化的东西
  2. 一个用于加载自动装带器类/功能
  3. 自动加载器中的那个。应该只有一个实际包含/需要文件的功能。然后可以在扩展的自动加载器类中重用该函数或方法。
  4. 我主要试图坚持这个原则。

答案 1 :(得分:1)

我会说这取决于你的代码仍然可读的程度。如果没有在您的项目上工作的人难以理解您的代码,那么是的,包括过度使用。

答案 2 :(得分:1)

你可以过度使用任何东西,但它可能不会对你造成太大的伤害(这里和那里只是一些额外的统计数据)。你必须记住像Drupal和Wordpress这样的大型项目,如果不是数千个include,那么会做数百个。

如果您正在使用HTML,您可能会有点绝望。我个人非常了解一个正确的模板语言,甚至是一个帮助你进入MVC或MVT立场的框架。它使得维护它比在整个地方进行追逐更容易,并且(更重要的是)将95%的逻辑保留在演示文件中。哦,他们可以用更加程序化的模块化方法维护您的数据库。

基本上框架可以为您带来很多开发优势;)

SymphonyCakePHP都是很好的框架,但如果您只是想了解一下模板,请使用Smarty

答案 3 :(得分:0)

如果您使用的只是包含,那么我会研究另一种方法。

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

答案 4 :(得分:0)

这真的是架构和优化的问题。我建议使用模板引擎,而不是讨论每个脚本的最佳包含数量。 Smarty因为它允许您:

  1. 将标记与程序逻辑分开
  2. 使用模板标签和内置功能来显着简化开发
  3. 缓存预处理的PHP文件,为您的用户提供更快的速度