AJAX扩展到一个PHP类,不传递包含的类
我通过AJAX从一个PHP类调用一个函数,该类扩展了另一个类,但没有包含在该文件中,而是包含在另一个文件中。 下面是我的代码: 客户:AJAX扩展到一个PHP类,不传递包含的类,php,jquery,ajax,Php,Jquery,Ajax,我通过AJAX从一个PHP类调用一个函数,该类扩展了另一个类,但没有包含在该文件中,而是包含在另一个文件中。 下面是我的代码: 客户: $('.username').change(function(){ var indexOfNumber = $(this).attr('class').indexOf('d'); var number = $(this).attr('class').substring(Number(indexOfNumber)+1);
$('.username').change(function(){
var indexOfNumber = $(this).attr('class').indexOf('d');
var number = $(this).attr('class').substring(Number(indexOfNumber)+1);
$.ajax({
url: 'class1.php',
complete: function(response) {
alert(response.responseText);
},
error: function(){
alert("error");
}
});
$('.userrole.d'+number).html(number);
});
类别1:
class class1 extends class2
{
function class1()
{
$this->class2(); << I am getting an error here
}
我得到的错误是:
在class1的位置中找不到类“class2”
class2包含在项目的config.php文件中,因此它不再包含在文件中,当我从AJAX调用该文件时,它似乎看不到以前包含的php文件
有办法吗 唯一的解决方法是需要class1.php中的必要文件。或者您可以包含一个加载自定义自动加载程序的文件,该程序可以在请求类时动态加载文件。我不能执行第一个选项,因为这将导致两次声明同一类时出错。你能解释更多关于你答案的第二部分吗?请:包括一个加载自定义自动加载器的文件。如果你只需要该文件一次,你不应该得到这个错误。如果您只使用require_一次,而不是require或include,那么就可以了。最好使用_构造而不是命名的构造函数:function class1。这是不赞成的,它奏效了。谢谢您还可以详细介绍一下自定义自动加载程序吗?基本上,您创建了一个函数,该函数接收需要加载的类的名称。然后编写确定如何使用基于该名称的类查找文件位置的逻辑。请看这里: