温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP函数__autoload失效原因有哪些

发布时间:2021-09-15 17:09:58 来源:亿速云 阅读:120 作者:小新 栏目:编程语言

小编给大家分享一下PHP函数__autoload失效原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

PHP函数__autoload可以实现简单的自动加载,但是在引入了smarty后发现__autoload函数已失效,后来发现是spl_autoload_register函数的原因。

function __autoload($name)
{
require 'class/'.$name.'.php';
echo '1';
}
function autoload_test($name)
{
echo '2';
}
spl_autoload_register('autoload_test');
$ca=new Ca();

结果输出2,可以看到__autoload函数没有被执行,官网的解析是:如果在你的程序中已经实现了__autoload()函数,它必须显式注册到__autoload()队列中。因为 spl_autoload_register()函数会将Zend Engine中的__autoload()函数取代为spl_autoload()或spl_autoload_call()。

为了让代码正常工作,应该重新注册__autoload函数:

function __autoload($name)
{
require 'class/'.$name.'.php';
echo '1';
}
function autoload_test($name)
{
echo '2';
}
spl_autoload_register('autoload_test');
spl_autoload_register('__autoload');
$ca=new Ca();

以上是“PHP函数__autoload失效原因有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI