PHP从7.0 升级到 PHP 7.3 后出现 Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in
Monday, September 23, 2019
8:37 AM
错误提示:
( ! ) Deprecated: __autoload() is deprecated, use spl_autoload_register() instead in C:\xampp \htdocs\myiot\admin\login.php on line 42 |
原因:
这是因为php在 7.2 开始就不建议使用function __autoload(){} 来自动加载类文件。
解决办法:
更改原有加的类加载程序如下:
旧:
function __autoload ($class_name){
$class_file = str_replace(‘\\’,’/’,$class_name). ‘.class.php’;
if (file_exists($class_file))
{
require_once($class_file);
if(class_exists($class_name,false))
{
return true;
}
return false;
}
return false;
}
新
function autoload ($class_name){
$class_file = str_replace(‘\\’,’/’,$class_name). ‘.class.php’;
if (file_exists($class_file))
{
require_once($class_file);
if(class_exists($class_name,false))
{
return true;
}
return false;
}
return false;
}
if(function_exists(‘spl_autoload_register’)) {
spl_autoload_register(‘autoload’);
}