怎么自动加载类文件
程序员文章站
2022-05-01 23:06:50
...
如何自动加载类文件!
现在用的是autoload(代码如下:),还有别的方法能自动加载类文件吗?除了include(具体文件路径)
------解决方案--------------------
你是不是嫌这比较麻烦?
其实是因为你类文件放的地方比较多,而且你上面应该是用if else if或switch...case。语句。
如果你嫌麻烦的话可以用个数组来保存所有的路径比如。
现在用的是autoload(代码如下:),还有别的方法能自动加载类文件吗?除了include(具体文件路径)
- PHP code
function __autoload($className){ if(file_exists('model/'.$className.'.class.php')){ include_once('model/'.$className.'.class.php'); } if(file_exists('Controller/'.$className.'.class.php')){ include_once('Controller/'.$className.'.class.php'); } $prefix=$GLOBALS['groupName']=='main'?'':'../'; if(file_exists($prefix.'core/'.$className.'.class.php')){ include_once($prefix.'core/'.$className.'.class.php'); } if(file_exists($prefix.'core/Smarty-3.1.6/'.$className.'.class.php')){ include_once($prefix.'core/Smarty-3.1.6/'.$className.'.class.php'); } if(file_exists($prefix.'core/Smarty-3.1.6/sysplugins/'.$className.'.php')){ include_once($prefix.'core/Smarty-3.1.6/sysplugins/'.$className.'.php'); } }
------解决方案--------------------
你是不是嫌这比较麻烦?
其实是因为你类文件放的地方比较多,而且你上面应该是用if else if或switch...case。语句。
如果你嫌麻烦的话可以用个数组来保存所有的路径比如。
- PHP code
$arr = array('classPath1','classPath2','classPath3'); foreach($arr as $v){ $new_path = $v.$className.'.php'; if(file_exists($new_path)){ include_once($new_path); break; } }相关文章
相关视频
下一篇: PHP之curl