>백엔드 개발 >PHP 튜토리얼 >怎么自动加载类文件

怎么自动加载类文件

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-13 10:26:04914검색

如何自动加载类文件!
现在用的是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>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.