コンストラクタでインジェクトする場合
<?php
namespace App\Http\Controllers;
use App\User;
class UserController extends Controller
{
private $user;
public function __construct(User $user)
{
// コンストラクタ関数内でインジェクト
$this->user = $user;
}
/**
* ユーザー画面TOP
*
* @return \Illuminate\View\View
*/
public function index()
{
$users = $this->user->all();
return view('user.index', compact('users'));
}
/**
* 登録処理
*
* @return \Illuminate\View\View
*/
public function store(Request $request)
{
$this->user->create($request->all());
return redirect('/user/index');
}
}
各メソッドでインジェクションする場合
<?php
namespace App\Http\Controllers;
use App\History;
class UserController extends Controller
{
/**
* 履歴一覧
* 引数で指定してあげるだけで自動インジェクトされる
*
* @return \Illuminate\View\View
*/
public function history(History $history)
{
$histories = $history->all();
return view('history.index', compact('histories'));
}
}
他のメソッドで使わないやつとか、個別でインジェクションすると良いかも
毎回newしなくていいから楽だよ