【问题标题】:PHP Classes and including filesPHP 类和包含文件
【发布时间】:2009-07-19 14:23:24
【问题描述】:

我需要一些关于在 PHP 类中包含文件的信息。例如。

include Foo2.php; //<--- Is this good?    
class Foo {
      function doFoo(){
         include("Foo2.php"); //<--- or is this better?
         //do something with vars from Foo2
      }
}

我想知道除了作用域之外还有什么区别,是否还有其他方法可以在类中包含另一个 php 文件。

提前感谢您的任何回复。

【问题讨论】:

    标签: php class include


    【解决方案1】:

    包含在全局范围内。它具有很强的可读性和可维护性。

    【讨论】:

    • 虽然这是真的,但如果我在一个全局范围内包含许多可能不会被使用的文件,那不是效率低下吗?我想这些都是微观效率,并不重要?
    • 使用字节码缓存,例如:APC、Zend Optimizer,不会有问题。
    • 这是我发现的折衷方案:包含在顶部 - 易于查找并且在重构过程中更容易发现错误(因为您不必执行不同的代码路径来确保包含某些内容) 或包含在函数内(甚至包含在“if”内),然后您只需要在需要时包含该文件——并且您已经本地化(内聚)这些东西。
    【解决方案2】:

    您只能在类的函数中包含 PHP 文件,或者完全在类之外包含 PHP 文件,因此两种方式都可以。

    它们的不同之处在于,只有在调用该函数时才会包含函数内部的那个。

    我发现函数内部的那个更好,因为那样它不会被自动包含,并且只有在该类中需要一个函数时才能包含它,如果您处理很多文件。

    【讨论】:

      猜你喜欢
      • 2011-10-09
      • 1970-01-01
      • 2011-08-02
      • 2012-02-13
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多