php Laravel フレームワーク - バックエンド フォルダーの確立 2
前の章では、Laravel フレームワークでバックエンド フォルダーを作成する方法を説明しました。
次に、別のコンテンツを追加します。自動読み込みについてです。
アプリ ディレクトリには次の開始ディレクトリもあります。
Composer の使用に加えて、コントローラーとモデルを
ロードするための Laravel クラス ローダー。
Composer を更新せずにすべてのクラスを「グローバル」名前空間に保持する場合に便利です。
翻訳してみましょう: Composer の使用に加えて、Laravel のクラス ローダーを使用してコントローラーとモデルをロードすることもできます。
これは、クラスを利用可能にするのに非常に役立ちます グローバル名前空間に存在するComposer 更新を使用する場合に非常に便利です。
ここにコードの断片があります
ClassLoader::addDirectories( array(
app_path().'/commands',
app_path().'/controllers',
//app_path( ).'/controllers/admin',
app_path().'/models',
app_path().'/database /seeds',
));
はい、よく知られています。これらのフォルダーは、デバイス、モデル、データベース シードを制御するためによく使用されるフォルダーです。
これらのフォルダーの内容は、グローバル名前空間に自動的にロードできます。
しかし、私がコメントした内容がもう 1 つあります。これは何ですか。このコンテンツは、
によって、コントローラー ディレクトリの admin のコントローラーにもグローバル名前空間を持たせることができます。これにより、
を通じて直接受信できるようになります。ルーティング テーブル内のコントローラー名
テストしたところ、Compoer dumpautoload は必要なくなりました。
しかし、まだ問題があります。管理フォルダー内に外部と同じ名前のコントローラーがある場合はどうすればよいですか?
私も実験をしました。最終的に、どれを選択するかについては、上記のロード順序によって異なります。
の場合は、
app_path().'/controllers',
app_path().'/controllers/admin',
次に外部コントローラーが有効である場合、admin フォルダー内のコントローラーが有効です。
これまでに書いた内容と組み合わせると、実際、最も安全で高度な方法は
ただし、書くのは少し複雑になります... 小規模なプロジェクトの場合は、この方法を検討してください。最悪の場合、これらのコントローラーが競合しないように注意してください。
コントロールすることは不可能ではありませんね。
一度に一つのことを、うまくやってください。
ご多幸をお祈りします。