spl_autoload_register
まず、これを行うのに優れているを調べることをお勧めします。
次に、 を使用is_file
してファイルが存在するかどうかをテストしてから、ロードしてみてください。require
ファイルが存在しない場合、スクリプトは停止します。
spl_autoload_register(function($class) {
if (is_file($class . '.php')) {
require $class . '.php';
} elseif (is_file('libs/' . $class . '.php')) {
require 'libs/' . $class . '.php';
}
});
ファイルが存在する可能性のあるフォルダーが複数ある場合は、次のようにすることができます。
spl_autoload_register(function($class) {
$folders = array ('.', 'libs', 'somewhere');
foreach ($folders as $folder) {
if (is_file($folder . '/' . $class . '.php')) {
require $folder . '/' . $class . '.php';
}
if (class_exists($class)) break;
}
});