Route::resource('photos', 'PhotoController');
Route::resources([
'photos' => 'PhotoController',
'posts' => 'PostController'
]);
Partial Resource Routes
Route::resource('photos', 'PhotoController')->only(['index', 'show'
]);
Route::resource('photos', 'PhotoController')->except([
'create', 'store', 'update', 'destroy'
]);
Route::apiResources([
'photos' => 'PhotoController',
'posts' => 'PostController'
]);
If you need to add additional routes to a resource controller beyond the default set of resource routes, you should define those routes before your call to Route::resource
Route::get('photos/popular', 'PhotoController@method');
Route::resource('photos', 'PhotoController');
You may even restrict the middleware to only certain methods on the controller class:
public function __construct()
{
$this->middleware('auth');
$this->middleware('log')->only('index');
$this->middleware('subscribed')->except('store');
}
// 一覧
GET /projects (index)
// 新規ページ
GET /projects/create (create)
// 保存
POST /projects (store)
// show project
GET /projects/{id}
// 編集ページ
GET /projects/{id}/edit (edit)
// 更新
PATCH /projects/{id} (update)
// 削除
DELETE /projects/{id} (destroy)
Dependency Injection & Controllers
Injectionの場所は2つある
1)Constructor Injection
class UserController extends Controller
{
/**
* The user repository instance.
*/
protected $users;
/**
* Create a new controller instance.
*
* @param UserRepository $users
* @return void
*/
public function __construct(UserRepository $users)
{
$this->users = $users;
}
}
2)Method Injection
class UserController extends Controller
{
/**
* Store a new user.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$name = $request->name;
//
}
}