По какой-то причине у меня проблема с spl_autoload_register с моим пространством имен в файле класса. Если я включаю класс обычным способом без spl_autoload_register, он работает просто отлично. Вскоре, когда я пытаюсь использовать spl_autoload_register, он перестает работать и php выдает ошибку.
Вот мои тестовые файлы:
info.php
<?php
include '../class/soapConn.php';
spl_autoload_register(
function ($class) {
include '../class/' . $class . '.php';
}
);
// include '../class/lists.php'; //This works with the name space!
if (isset($_GET["data"]) && $_GET["data"] == "test") {
$schoolsList = new \DBviewer\lists($client); //Can't find the class?
$array=[];
$array = $schoolsList->getSchools();
echo json_encode($array);
}
файл класса:
lists.php
<?php
namespace DBviewer;
include '../class/soapConn.php';
class lists {
function __construct($client) {
$this->client=$client;
}
function getSchools() {
//random stuff here
return $array;
}
}
Есть идеи, почему автозагрузка вызывает у меня проблемы? Что я делаю неправильно?
Задача ещё не решена.
Других решений пока нет …