回答編集履歴

1

リファクタした

2023/01/07 08:11

投稿

phper.k
phper.k

スコア3923

test CHANGED
@@ -58,35 +58,10 @@
58
58
 
59
59
  // URL に指定された $lang の処理
60
60
  Route::bind('lang', function ($lang = 'ja') {
61
- App::setLocale($lang);
61
+ App::setLocale($lang); // 規定の言語を設定する
62
+ App::viewPath($lang); // Bladeファイル の規定のパスを設定する
62
63
  return $lang;
63
64
  });
64
- }
65
- }
66
- ```
67
-
68
- 各コントローラーが extends している元の app/Http/Controllers/Controller.php
69
-
70
- ```php
71
- <?php
72
-
73
- namespace App\Http\Controllers;
74
-
75
- use Illuminate\Contracts\Support\Arrayable;
76
- use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
77
- use Illuminate\Foundation\Bus\DispatchesJobs;
78
- use Illuminate\Foundation\Validation\ValidatesRequests;
79
- use Illuminate\Routing\Controller as BaseController;
80
-
81
- class Controller extends BaseController
82
- {
83
- use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
84
-
85
- // このメソッドを追記しておく
86
- public function view(string $view = null, Arrayable|array $data = [], array $mergeData = [])
87
- {
88
- $lang = \App::getLocale();
89
- return view($lang . '/' . $view, $data, $mergeData);
90
65
  }
91
66
  }
92
67
  ```
@@ -98,8 +73,7 @@
98
73
  {
99
74
  public function index()
100
75
  {
101
- // return view('top'); // こうじゃなくて
102
- return $this->view('top'); // こっち
76
+ return view('top');
103
77
  }
104
78
  }
105
79
  ```