php Laravelフレームワーク - バックエンドフォルダーの確立
今日はLaravelフレームワークのコントローラーにバックエンドフォルダーを追加することを勉強しました。いくつかの小さなルールを発見し、それらを使用しました。共有してください。 .
通常、コントローラーをコントローラーフォルダーに直接追加し、routes.php ルーティングテーブルで対応するコントローラーとアクションを探して処理しますが、ここで問題が発生します。フロントエンドとバックエンドが同じプロジェクト内にある場合、つまりフロントエンド コントローラーとバックエンド コントローラーが一緒になっている場合、コントローラー、Admin などの前に Front を追加することはできません。タグを使用して、フロント コントローラーとバックグラウンド コントロールを分離します。
ここでは、フロント コントローラーとバック コントローラーを分離する方法を提供します。
まず、コントローラー フォルダーに管理フォルダーを作成します。
最初の方法: AdminController.php などのコントローラーをバックグラウンドで直接作成し、通常どおりコンテンツに書き込みます。
ルーティング テーブルでは、
Route::get('admin',[email protected]');
プログラムがコントローラー AdminController が見つからないというエラーを報告したことがわかりました。コマンド ライン ツールを開き、プロジェクト、つまり、artisan、composer.json が配置されているディレクトリで、
コマンドcomposer dumpautoload または combos dump-autoload
これは最適化のための自動ロードです。
コマンドを実行した後、ベンダー ディレクトリのコンポーザー ディレクトリに入ります。
しましょうautoload_classmap.php ファイルを確認すると、AdminController の追加レコードがあることがわかりました。
ところで、ブラウザを更新すると、バックグラウンド コントローラーの内容が表示されます。
しかし、これには欠点があります。つまり、新しいコントローラーを追加するたびにこのコマンドを実行する必要があります。
もう 1 つフロントエンドと同じコントローラーがバックエンド フォルダーにある場合、このプログラムは、バックエンドとフロントエンドにコントローラーがあることを示すエラーを報告することに注意してください。名前の競合。
ここでの解決策は、バックグラウンドでの処理に名前空間を使用することです。
たとえば、私のファイルには IndexController もあります。バックグラウンドコントローラー
namespace ControllersAdmin;
class IndexController extends BaseController{
パブリック関数 Index(){
}
}
?>
ここで注意すべき点は、名前空間を使用した後、すべてのその中で使用される静的クラスはデフォルトで現在の名前空間のクラスになります。そのため、場合によっては use View; Use... などの名前空間を使用する必要があります。
テーブルでは、リクエストを処理するために、ControllersAdmin[email protected] のようなコントローラーも使用する必要があります。
わかりました。これが私が学んだことです。共有しましょう。
継続は人生に価値をもたらします。
ご多幸をお祈りします 🎜>