必要に応じてクラスファイルを含めるために使用されるこのオートローダーメソッドがあります。
public static function autoloader($className) {
$fileExists = false;
foreach(array(LIBS_PATH, CONTROLLERS_PATH, MODELS_PATH) as $path) {
// Check if the class file exists and is readable
if(is_readable($classPath = $path . '/' . $className . '.php')) {
// Include the file
require($classPath);
$fileExists = true;
break;
}
}
if($fileExists === false) {
exit('The application cannot continue as it is not able to locate a required class.');
}
}
それはうまくいきますが、私はこの方法の方が良いと思っていました:
public static function autoloader($className) {
foreach(array(LIBS_PATH, CONTROLLERS_PATH, MODELS_PATH) as $path) {
// Check if the class file exists and is readable
if(is_readable($classPath = $path . '/' . $className . '.php')) {
// Include the file
require($classPath);
return;
}
}
exit('The application cannot continue as it is not able to locate a required class.');
}
ご覧のとおり、クラスファイルが含まれていてメソッドがその役割を果たしているため、ループの途中でreturnステートメントを使用して残りの関数を終了しています。
一致するものが見つかった場合にループから抜け出すための最良の方法はどれですか?私は常にreturnステートメントをメソッドからの値の戻りに関連付けているため、returnステートメントの使用についてはよくわかりません。