Laravel5.6, 5.7, VoyagerのControllerを外出し作成する(オーバーライド)

Laravel5.6, 5.7,  VoyagerのControllerを外出し作成する(オーバーライド)

Laravel5.6, 5.7の管理画面パッケージ「Voyager」。

以前の記事で新規に追加したBREADのコントローラーを変更する方法を紹介しましたが、管理者の権限によってログイン時のリダイレクト先を変えたり、メディアの表示ディレクトリを変えたりとBREADコントローラーを変更するだけでは対応不可能な要件があると思います。

しかし、Voyagerにはvendor以下にあるControllerを外部に出力してくれる、便利コマンドが用意されています!今回はこのコマンドを使用して、Controllerを気兼ねなく触れるように変更しましょう!

 

Config/voyager.phpを編集

Config/voyager.php内にコントローラーのnamespaceを設定する項目がありますので、デフォルトのものをコメントアウト、新たにファイルを出力したいディレクトリを指定します。

php artisan voyager:controllersコマンド

コマンドラインから以下のコマンドを入力します。

 

コマンドか実行されると、「Published Voyager controllers!」という文章が出力されるので、実際にディレクトリを確認しましょう!今回の場合app/Http/controllers/voyagerにコントローラーが出力されています。

 

出力されたコントローラー

コマンドが実行されると、以下のファイルが出力されます。

VoyagerAuthController.php

VoyagerBreadController.php

VoyagerController.php

VoyagerMediaController.php

VoyagerRoleController.php

VoyagerBaseController.php

VoyagerCompassController.php

VoyagerDatabaseController.php

VoyagerMenuController.php

VoyagerSettingsController.php

 

この中で開発に使用しそうなものはAuth, Base, Media, Roleとかでしょうか、、、

仕様を変更したいページで読み込んでいるコントローラーは、laravel debugbarで簡単に確認出来ますので、こちらもインストールしておくといいと思います!

Laravelカテゴリの最新記事