我可能设置错了这段代码,但是当error_reporting
设置为E_ALL & ~E_NOTICE
时,它可以完美地工作。
function load_fw_phpClass($fw_phpClass_name){
$fw_class_file=path_to_classes.$fw_phpClass_name.'.class.php';
file_exists($fw_class_file)?include $fw_class_file:null;
} spl_autoload_register(load_fw_phpClass);
path_to_classes
是一个个人定义的常数。
我将error_reporting
更改为E_ALL
只是为了检查是否有任何通知-是的,有(2出于相同的原因在不同的行上):**Notice:** Use of undefined constant load_fw_phpClass - assumed 'load_fw_phpClass' in ...
。
看起来spl_autoload_register();
-函数将函数名视为常量,并告诉我它尚未定义-这并不奇怪,因为它是一个;它不是常数,其次;它应该只在需要类的时候执行。我的意思是;这不就是使用spl_autoload_register();
-函数的原因吗?
;还有其他人经历过这种"错误"吗?知道怎么处理吗?
您需要使用函数的名称(字符串):
spl_autoload_register('load_fw_phpClass');