PHP程序员站--PHP编程开发平台
 当前位置:主页 >> PHP基础 >> 基础文章 >> 

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

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

来源:phperz.com  作者:phper  发布时间:2012-04-07
更新到smarty到3.0,结果发现项目中的__autoload()不能用了,原来是因为smarty改变了autoload的方式。 解决方法如下: function autoload($className){ if (file_exists(SITEROOT.'include/module/'.$className.'.class.php')) include SITEROOT.'include/module/'.$cl

更新到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函数。这样就解决了冲突的问题。


延伸阅读:
PHP autoload机制详解
php使用__autoload()自动加载类
spl_autoload_register函数的用法
Tags: smarty   autoload   冲突  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号