我試圖使用php的set_include_path
將自定義路徑包含到某個文件中。下面的代碼:set_include_path致命錯誤:在文件中找不到'MyClass'類
file.php
<?php
$path = 'classes/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
$obj = new MyClass();
$obj->methodCall();
?>
這裏是我的根目錄結構
www
|_webapp
|_classes
|_MyClass.php
|_nbproject
|_file.php
所有當我執行該腳本是此錯誤消息,我得到:Fatal error: Class 'MyClass' not found in C:\wamp\www\webapp\file.php
。我曾嘗試使用require
包括該文件,它的工作原理是,但我用set_include_path
撞牆。有人知道我能做些什麼嗎?
感謝
只是說「試圖包含文件時,查看文件夾A,B和C」不會奇蹟般地說「加載Foo類,包含文件Foo.php」。你需要顯式'包含'''需要'帶有類定義的文件,或者使用自動加載器。 – DCoder
爲了同樣的目的,我使用了'include/require'和'spl_autoload_register',但是我從未遇到任何錯誤。那麼爲什麼'set_include_path'不能用於同一目的? – Tifa
可能是因爲您指定了類目錄的相對路徑而不是絕對路徑?很難說。 – DCoder