下記コードのautoloadでなぜ、クラスを読み込むことができるのか、またその中の条件分岐で行なっていることが分からなかったため、ご質問させていただきました。
spl_autoload_register(function($class) {
この場合、変数classには、未定義だったクラス名が入るということですが、このレッスンでのコードの場合、変数classには何が格納されているのでしょうか?
また、複数のクラスが未定義だった場合も同様に複数の値がこの変数名classに代入されるのでしょうか?
その場合、このコードでは、想定しない挙動となってしまうのではないでしょうか?
参考にしたレッスン
参考にした記事: PHP Documetation
spl_autoload_register(function($class) {
$prefix = 'MyApp\\';
if (strpos($class, $prefix) === 0) {
$className = substr($class, strlen($prefix));
$classFilePath = __DIR__ . '/../lib/' . str_replace('\\', '/', $className) . '.php';
if (file_exists($classFilePath)) {
require $classFilePath;
}
}
});
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?