これは私の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;
「ローダー」関数を UserController ファイル内に配置すると、正常に動作し、クラス BaseController がロードされますが、関数が index.php ファイル内にあり、AJAX 呼び出しを行うと、次のようになります。
致命的なエラー: 13 行目の D:\xampp\htdocs\heliox\controllers\UserController.php にクラス 'BaseController' が見つかりません。