欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么自动加载类文件

程序员文章站 2022-05-01 23:06:50
...
如何自动加载类文件!
现在用的是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;
  }
} 
怎么自动加载类文件

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频