在這種情況下,我不認爲這是如何實例化對象,而是更多地如何自動加載你的類。
在這一點上,我假設你知道php's ability to let you autoload classes。如果你不這樣做,那麼我需要知道你有什麼設置(框架?任何幫助類?),因爲這可能會爲你自動加載。
看來你需要配置自動加載功能。
這裏是什麼,我覺得你的自動加載功能看起來像一個基本的例子:
function my_autoloader($class) {
$file = $class . '.class.php'; // E.g. ClassB.class.php
if(file_exists($file)) {
require_once($file);
}
}
spl_autoload_register('my_autoloader');
在這種情況下,它檢查當前的工作目錄,看看文件{$class}.class.php
存在。
在上面的場景中,您提到您將類移動到子目錄subfoo
。 因此,你需要改變你的自動加載機的功能來體現新的子目錄,因爲PHP會不會覺得更深入的目錄結構,除非你告訴它:
$file = 'subfoo/' . $class . '.class.php'; // Same E.g. will now look for subfoo/ClassB.class.php
那麼,如何自動裝卸知道它應該在'foo/subfoo'而不是'foo'中尋找類文件? –
我不知道,我想它會自動執行它?自動加載器如何知道在第一個代碼片段中查找foo/subfoo而不是在/ foo中? 我該如何解決這個問題? – user3156386
'我不知道,我想知道它會自動執行嗎?':) – Peon