smarty和__autoload()冲突的解决方法

更新到smarty到3.0,结果发现项目中的__autoload()不能用了, 原来是因为smarty改变了autoload的方式。

解决方法如下:

function autoload($className){
    if (file_exists(SITEROOT.'include/module/'.$className.'.class.php'))
    include SITEROOT.'include/module/'.$className.'.class.php';
    else
    die('类'.$className.'文件不存在');
}
spl_autoload_register("autoload");

用上面的方式还可以依顺序同时载入几个autoload方法 原理就是使用php的spl_autoload_register函数注册自义定的autoload函数。 这样就解决了冲突的问题。

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3