Это мой файл index.php:
function Loader($class)
{
$base=$_SERVER["DOCUMENT_ROOT"];
if (file_exists($base.'/app/'.$class.'.php')) {
include($base.'/app/'.$class.'.php');
return true;
}
return false;
}
spl_autoload_register('Loader');
?>
<html>
<head>
</head>
<body>
<div id="container">
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>
В моем файле main.js я делаю вызов AJAX:
$.ajax({
type: 'POST',
url: 'controllers/UserController.php',
dataType: "json",
data: {
model: model,
method: method
},
success: function(result) {
if (typeof(template) != 'undefined'){
$.get('http://localhost/heliox/templates/'+template, function(data) {
$(target).empty();
$(target).html(_.template(data,{data:result}));
});
}
}
});
В файле UserController.php у меня есть:
Class UserController extends BaseController
{
public function test()
{
echo "test";
}
}
$UserController = new UserController;
Когда я помещаю свою функцию «Loader» в файл UserController, она работает нормально, и класс BaseController загружается, но когда функция находится внутри моего файла index.php и я делаю вызов AJAX, я получаю:
Неустранимая ошибка: класс BaseController не найден в D:\xampp\htdocs\heliox\controllers\UserController.php в строке 13.
UserControler.php
ничего не знает оindex.php
и определенном там автозагрузчике. - person dev-null-dweller   schedule 11.06.2013