所以我决定使用Ajax处理我的项目中的表单。
像往常一样,我通过Ajax将收到的输入数据发送到process.php,然后使用classes文件夹中的Input.php类验证它。
但是,由于我的init.php中的文件路径是硬编码的,脚本正在 ajax / classes / Input.php 中搜索Input类,而不是 classes / Input.php < /强>
我可以以某种方式调整我的init文件,还是必须提出不同的目录结构?
以下是当前的结构:
ajax/
process.php
classes/
Input.php
core/
init.php
js/
ajax.js
form.php
开始 process.php
<?php
require_once '../core/init.php';
[...]
init.php
的相关部分spl_autoload_register(function($class) {
require_once 'classes/'.$class.'.php';
});
我尝试过像require_once&#39; init.php?subdir = true&#39;但由于包含不是http请求,它显然无法正常工作。
如果有人在这里帮助我,我会很高兴的!
如果有任何不清楚的地方,请询问!
答案 0 :(得分:2)
您可以使用例如:
spl_autoload_register(function($class) {
require_once __DIR__.'/../classes/'.$class.'.php';
});
所以你的init.php将需要通过相对于他自己的目录的路径的其他脚本。我会说这不太可能改变init.php文件的位置,但即使你这样做,你也只能在init.php中进行微小的改动