ホームページ >バックエンド開発 >PHPチュートリアル >php Laravel フレームワーク - バックエンド フォルダーの作成 2_PHP チュートリアル

php Laravel フレームワーク - バックエンド フォルダーの作成 2_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:28:451381ブラウズ

前の章では、Laravel フレームワークでバックエンド フォルダーを作成する方法を説明しました。

バックエンドフォルダーを作成するphp 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 つあります。このコンテンツの目的は何ですか...

つまり、controllers ディレクトリ内の admin のコントローラーにもグローバル名前空間があり、これをルーティング テーブルに直接渡すことができます

私たちのコントローラー名をここで受け取ります。

テストしてみたら本当に成功したので、composer dumpautoload はもう必要ありません

しかし、まだ問題があります。管理フォルダー内に外部と同じ名前のコントローラーがある場合はどうすればよいですか?

私も実験をしましたが、最終的にどれを選択するかについては、上記のロード順序に依存することがわかりました。

はいの場合

app_path().'/controllers',

app_path().'/controllers/admin',

その場合、外部コントローラーが有効になります。それ以外の場合、管理フォルダー内のコントローラーが有効になります。

以前に書いたことと組み合わせると、実際、最も安全で高度な方法は名前空間を使用することです。

しかし、書くのはもう少し複雑になります... 最悪の場合でも、これらのコントローラーが競合しないように注意するだけで、小規模なプロジェクトの場合はこの方法を検討できます。

コントロールできないわけじゃないですよね

一度に一つのことをやって、うまくやってください。

ご多幸をお祈りします


http://www.bkjia.com/PHPjc/780966.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/780966.html技術記事前の章では、Laravel フレームワークでバックエンド フォルダーを作成する方法を説明しました。次に、別のコンテンツを追加しましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。