名前空間がついていないクラスも読み込みたい場合はどうすればいいのでしょうか

順を追って説明していきます。
2022年9月30日
ユーザー

こんにちは。

/todo_app_php_v4-master/work/app/config.php の spl_autoload_register() についての質問です。

名前空間がついていないクラスも読み込みたい場合は
1 つ目の if 文の条件 (strpos($class, $prefix) === 0) に当てはまらないと思うのですが、

その場合は 2 つ目の if 文の手前に
else (1つ目の if 文に紐づく) で $fileName = $class . '. php' のようなコードを書くべきでしょうか?

他にお手本となる書き方があればご教授いただけますと幸いです。

よろしくお願いいたします。

以下レッスンコードの引用です。

spl_autoload_register(function ($class) {
  $prefix = 'MyApp\\';

  if (strpos($class, $prefix) === 0) {
    // MyApp\Database
    // $fileName = sprintf(__DIR__ . '/%s.php', substr($class, 6));
    $fileName = sprintf(__DIR__ . '/%s.php', substr($class, strlen($prefix)));

    if (file_exists($fileName)) {
      require($fileName);
    } else {
      echo 'File not found: ' . $fileName;
      exit;
    }
  }
});

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?