NTR893
@NTR893 (おいなり)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Laravel autoload.phpについて

解決したいこと

Laravelで、ライフサイクルについて、index.phpの中身を解説されていたのですが、その中にある

require __DIR__.'/../vendor/autoload.php';

の部分に触れて、autoloadというのは、requireなしで別ファイルのクラスを使用可能にする事だと説明されていました。

なので、この文を書いてあげれば、あとはrequireを書かなくていいんだなと思っていました。

しかし、index.phpでは、その後の47行目に、

$app = require_once __DIR__.'/../bootstrap/app.php';

という文があり、require使ってるじゃん!となってしまいautoloadが何なのかよくわからなくなってしまいました。

どうして、requireがまた使われているのかを教えて頂きたく質問いたしました。

0

1Answer

autoloadというのは、requireなしで別ファイルのクラスを使用可能にする事だと説明されていました。

全てを解決してくれるわけではありません。

Laravelの自動読み込みはComposerという依存関係マネージャーによって実現されています。
Composerが自動読み込みしてくれるのは次の2つです。

  • 管理しているライブラリ(requirerequire-dev設定)
  • 自動読み込み設定(autoloadautoload-dev設定)

これらに該当しないものは自動で読み込まれないので、別途requireする必要があります。

詳しくはドキュメント(Autoloadingセクション)を参照してください。

1Like

Your answer might help someone💌