Home  >  Article  >  Backend Development  >  怎么自动加载类文件

怎么自动加载类文件

WBOY
WBOYOriginal
2016-06-13 13:29:01998browse

如何自动加载类文件!
现在用的是autoload(代码如下:),还有别的方法能自动加载类文件吗?除了include(具体文件路径)

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
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;
  }
} <div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn