Edited at

[Laravel]Controllersにフォルダを作成して下層にコントローラーを作成する方法

More than 3 years have passed since last update.

フロントサイトと管理サイトでコントローラファイルが見辛くなったのでフォルダ別に管理しようと思ったのでメモ。

Controllersフォルダを下記の様に配置したい場合

Controllers

├Admin・・・ここに管理サイト用のコントローラーを作成したい
├Auth
├Controller.php
└IndexController.php

Adminフォルダを作成してUserController.phpを作成します。

作成したファイルのnamespace部分を編集します。


  • UserController.phpを編集

<?php

namespace App\Http\Controllers\Admin; // 編集

use Illuminate\Http\Request;

use App\Http\Requests\UserRequest;
use App\Http\Controllers\Controller;

// 以下省略


  • routes.phpを編集

// ユーザー管理

Route::get('/admin/user', 'Admin\UserController@index');
Route::get('/admin/user/show/{id}', 'Admin\UserController@show');
Route::get('/admin/user/add', 'Admin\UserController@add');
Route::post('/admin/user/create', 'Admin\UserController@create');

これでコントローラーが指定されたフォルダから利用することができます。