2010-01-11 80 views
6

只是为了自动加载的东西不会工作,我不知道PHP是否可以在方法中包含一个类是否正常?我可以在方法中包含类吗?

例子:

public method doSomething() { 
    include ('MyClass.php'); 
    $foo = MyClass::doAnotherThing(); 
} 

回答

3

是的,你绝对可以做到这一点。实际上,这正是自动加载的方式,因为__autoload()本身就是一个函数,您通常会使用它来查看要加载的类文件。

但是,如果您手动包含类文件,但是您一定要使用require_once()而不是include()require(),否则您将得到该类的重复声明。

+1

+1 for autoload and * _once() – 2010-01-11 20:05:00

3

是能正常工作,而类将在全球范围内上市。如果文件包含的其他代码不是类,那么该代码将被执行,就好像它在函数内部一样。

1

那么在这种情况下,你可能想要做一个requirerequire_once如果class_exists可能考,但肯定可以做到这一点。

相关问题