Я использую последнюю версию XAMPP, и autoload(), похоже, не работает должным образом. Я в значительной степени заменил предыдущую автозагрузку с помощью руководства PHP, но безрезультатно.__autoload() Кажется, ничего не делает в PHP
После помещения нескольких эхо и die() s я пришел к выводу, что __autoload вообще не вызывается.
class Main
{
var $config_data;
function __autoload($class_name) {
echo "hello.";
// If the file exists, require it
if (file_exists(SYSTEMDIR.$class_name.".".EXT)) {
echo 'Autoloader: The class exists.';
(require_once(SYSTEMDIR.$class_name.".".EXT))
or die("I tried to autoload class $class_name, but it failed! =(");
} else {
// The file didn't even exist. Die.
die("I was going to autoload class $class_name, but it didn't exist! =(");
}
}
/*
* Function __construct
* @param datatype variable description
* @return datatype description
*/
function __construct(/* $arg */) {
//Load the config
$this->config = new Config;
//Load the uri class:
$this->uri = new Uri;
}
}
Он не выводит «привет», расположенное на самой верхней части __autoload().
Единственный выход:
Fatal error: Class 'Config' not found in E:\xampplite\htdocs\system\Main.php on line 84
вы можете положить __autoload внутри класса в
Main->__autoload()
функцию? вы хотите использовать автозагрузку в качестве общей функции, не так ли ?. – raultm