teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

内容の修正

2018/10/29 05:48

投稿

rin_san
rin_san

スコア97

answer CHANGED
@@ -2,10 +2,24 @@
2
2
  いいかダメかで聞かれると、実装者の責任において判断することだと思います。
3
3
  可能か不可能かで問われれば可能です。
4
4
  いいと考えるか、ダメと考えるかで問われれば**ダメだと考えます**。
5
- 理由としてはいわゆるベースコントローラーはLaravelのパッケージをアップデートした際に上書きされますよね?
5
+ ~~理由としてはいわゆるベースコントローラーはLaravelのパッケージをアップデートした際に上書きされますよね?~~
6
6
  どうしても全コントローラーに共通の処理を組み込みたいのであれば、
7
7
  ベースコントローラー→共通処理を組み込んだ拡張コントローラー→各コントローラー
8
8
  の形で、組み込んだほうがマシだと考えます。
9
9
 
10
+ ■追記
11
+ コメントで指摘されたので、修正します。ベースコントローラーについて勘違いしていました。
12
+ よく読まずに回答して申し訳ございません。
13
+ App\Http\Controllers\Controller.php内で質問者が指すファイルとは別のベースコントローラが存在します。
14
+ ```php
15
+ use Illuminate\Routing\Controller as BaseController;
16
+ ```
17
+ こちらと早とちりしていました。
18
+
19
+ App\Http\Controllers\Controller.phpの修正は可能
20
+ Illuminate\Routing\Controller as BaseControllerの修正は避けるべき
21
+
22
+ と修正させていただきます。
23
+
10
24
  ちなみにLaravelに用意されているmiddlewareの機能を考慮した上でのご質問でしょうか。
11
25
  無理にベースコントローラーを改修することを考えるより、middlewareで実現できないか考えるほうが望ましいのではないでしょうか。