ホームページ >バックエンド開発 >PHPチュートリアル >バックエンドフォルダーを作成するphp Laravelフレームワーク
今日は、Laravel フレームワークのコントローラーにバックグラウンドフォルダーを追加する方法を勉強しました。いくつかの小さなルールを見つけましたので、それを共有しましょう
通常、コントローラーフォルダーコントローラーにファイルを直接追加し、対応するコントローラーを検索します。処理のためにroutes.phpルーティングテーブルのアクションを実行しますが、フロントデスクとバックグラウンドが同じプロジェクトにある場合、つまりフロントデスクとバックグラウンドのコントローラーが一緒になる場合に問題が発生します。それらを区別する方法はありません。フロント コントローラーとバックグラウンド コントロールを区別するために、コントローラーの前に Front、Admin などのタグを追加することができます。
まず、controllers フォルダーに admin フォルダーを作成します。
最初の方法: AdminController.php などのコントローラーをバックグラウンドで直接作成し、通常どおりコンテンツを書き込みます。
ルーティング テーブルで、
Route:: get('admin','AdminController@index');
コントローラー AdminController が見つからないというエラーがプログラムによって報告されたことがわかりました。
コマンド ライン ツールを開き、プロジェクトの更新されたディレクトリに入りました, つまり、artisan、composer.json が配置されているディレクトリで、
コマンドcomposer dumpautoloadまたはcomposer dump-autoloadを実行します
これは自動読み込みを最適化するためです
コマンドを実行した後、composerディレクトリに入ります。ベンダー ディレクトリです。
autoload_classmap.php ファイルをチェックして、その中に AdminController の追加レコードがあることを確認してください。
ところで、ブラウザを更新すると、バックグラウンド コントローラーのコンテンツが表示されます。
しかし、これには欠点が 1 つあります。それは、新しいコントローラーを追加するたびにこのコマンドを実行しなければならないことです...
もう 1 つの注意点は、前のコントローラーと同じコントローラーがバックグラウンド フォルダーに表示される場合、このプログラムはエラーを報告します
バックエンドとフロントエンドの間にコントローラー名の競合があることを示すメッセージが表示されます
ここでの解決策は、バックエンドでの処理に名前空間を使用することです
たとえば、バックエンドには IndexController コントロールもあります。
namespace ControllersAdmin;
class IndexController extends BaseController{
public function Index(){
}
}
?&g t;まだ注意する必要がありますここで、名前空間を使用する場合、その中で使用するすべての静的クラスはデフォルトで現在の名前空間のクラスになります。そのため、時には View や Use... などの名前空間を使用する必要があります。ルーティング テーブルでは、リクエストを処理するために、ControllersAdminIndexController@index のようなコントローラーも使用する必要があります。
さて、これは私が学んだことです。共有しましょう
永続性は人生に価値をもたらします。
よろしくお願いします。