ホームページ  >  記事  >  バックエンド開発  >  クラスファイルを自動的にロードする方法

クラスファイルを自動的にロードする方法

WBOY
WBOYオリジナル
2016-06-13 13:29:01999ブラウズ

クラスファイルを自動でロードする方法!
私が現在使用しているのはオートロードです(コードは次のとおりです)。クラスファイルを自動的にロードする他の方法はありますか? (特定のファイルパス)

PHP コード
<!--

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 コード
$arr = array('classPath1','classPath2','classPath3');
foreach($arr as $v){
  $new_path = $v.$className.'.php';
  if(file_exists($new_path)){
    include_once($new_path);
    壊す;
  }
<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。