2009-07-19 137 views
3

我需要一些关于在PHP类中包含文件的信息。例如。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文件。

在此先感谢您的回复。

回答

4

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

+0

虽然这是真的,但如果我在全局范围内包含许多文件可能无法使用它不是效率低下吗? 我想这些是微效率,并不重要? – Mozez 2009-07-19 14:57:43

+0

使用字节码缓存,例如:APC,Zend Optimizer,这不会成为问题。 – erenon 2009-07-19 15:07:59

+1

这是我找到的折衷方案:包含在顶部 - 易于查找,并且更容易在重构过程中轻松找到错误(因为您不必执行不同的代码路径以确保包含某些内容)或包含在函数内(或即使在“如果”的情况下),然后你只需要包含该文件,如果你需要的话 - 而且你已经将本地化(内聚)的东西放在一起。 – grantwparks 2009-07-19 18:58:13

0

您只能将PHP文件包含在类的功能中,或者完全在类之外,因此您有两种办法。

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

我发现里面的函数更好,因为那样它就不会被自动包含,并且只有当您需要该类中的函数时才能包含它,如果您处理该函数可能会非常有用很多文件。