自分が開発する時に使っている構造はこんな感じですね。
laravel
├ app
│ └ Http
│ └ Controllers
│ ├ Web
│ │ ├ WelcomeController
│ │ └ ExampleController
│ └ Admin
│ ├ WelcomeController
│ └ ExampleController
├ resources
│ └ views
│ ├ web
│ │ ├ index.blade.php
│ │ └ examples
│ │ ├ index.blade.php
│ │ └ show.blade.php
│ └ admin
│ ├ index.blade.php
│ └ examples
│ ├ index.blade.php
│ ├ show.blade.php
│ ├ create.blade.php
│ └ update.blade.php
├ routes
│ └ web.php
php
1
2
3// web
4Route:resource('/', \App\Http\Controllers\Web\WelcomeController::class);
5Route:resource('examples/', \App\Http\Controllers\Web\ExampleController::class)->only(['index', 'show']);
6
7// admin
8Route::prefix('admin')->group(function(){
9 Route:resource('/', \App\Http\Controllers\Web\WelcomeController::class);
10 Route:resource('examples', \App\Http\Controllers\Admin\ExampleController::class);
11});
routes/web.php から admin 部分を分離させたい場合は、routes/admin.php を作って、RouteServiceProvider::boot()
に admin の定義を追加する。
php
1
2
3class ExampleController extends Controller
4{
5 public function index()
6 {
7 $examples = Example::paginate();
8 return view('web.examples.index', compact('examples'));
9 }
10}
php
1
2
3class ExampleController extends Controller
4{
5 public function index()
6 {
7 $examples = Example::paginate();
8 return view('admin.examples.index', compact('examples'));
9 }
10}
php
1
2
3class WelcomeController extends Controller
4{
5 public function __invoke()
6 {
7 return view('web.index');
8 }
9}
php
1
2
3class ExampleController extends Controller
4{
5 public function __invoke()
6 {
7 return view('admnin.index');
8 }
9}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/16 05:02
2022/07/16 08:35 編集
2022/07/16 10:11
2022/07/16 11:34
2022/07/16 11:58
2022/07/16 13:08 編集
2022/07/16 13:26
2022/07/18 06:53