2010-01-11 76 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可能考,但肯定可以做到這一點。

相關問題