Php 如何使用构造函数在Laravel中创建和传递属性
使用Laravel:我希望在所有方法中都有特定的属性可供使用,而不必在每个方法中复制代码。所以我想也许将代码放入构造函数是正确的做法。它可能不是,因为它没有按预期工作。PHPStorm is已灰显构造函数中的$contractor变量,告诉我它没有在任何地方使用。然而,索引方法中的$contractor变量没有变灰。然而,我没有在Index()中使用$contractor变量 我做错了什么 以下是构造函数:Php 如何使用构造函数在Laravel中创建和传递属性,php,constructor,laravel-5.1,Php,Constructor,Laravel 5.1,使用Laravel:我希望在所有方法中都有特定的属性可供使用,而不必在每个方法中复制代码。所以我想也许将代码放入构造函数是正确的做法。它可能不是,因为它没有按预期工作。PHPStorm is已灰显构造函数中的$contractor变量,告诉我它没有在任何地方使用。然而,索引方法中的$contractor变量没有变灰。然而,我没有在Index()中使用$contractor变量 我做错了什么 以下是构造函数: class AccountController extends Controller {
class AccountController extends Controller {
protected $contractor;
protected $email;
protected $id;
public function __construct(Contractor $contractor, Auth $id)
{
$this->id = Auth::id();
$user = User::find($this->id);
$contractor = Contractor::where('email', '=', $user->email)->get();
}
public function index($contractor) // THIS DOES NOT WORK
{
return View('contractor_portal/account_show', compact('contractor'));
}
}
这就是你做这件事的方式:
public function __construct(Contractor $contractor, Auth $id){
$this->id = Auth::id();
$user = User::find($this->id);
$this->contractor = Contractor::where('email', '=', $user->email)->get();
}
public function index()
{
$contractor = $this->contractor;
return View('contractor_portal/account_show', compact('contractor'));
}