Php使构造函数中的变量可用于控制器内的其他函数

时间:2017-11-20 11:58:57

标签: php laravel laravel-5

我有一个带__construct的控制器,例如:

class ApiController extends Controller
{
    protected $auth;

    public function __construct()
    {
        $auth = UserRepository::check();
        return $auth;
    }

我想要做的是当我创建一个新函数,即

public function test() {
  dd($auth);
}

但是它说变量没有定义。如何使其可用于其他功能而不仅仅是构造?

2 个答案:

答案 0 :(得分:1)

使用$this关键字设置/获取类变量

像这样设置

public function __construct()
{
    $this->auth = UserRepository::check();
}

得到这样的

public function test() {
  return dd($this->auth);
}

答案 1 :(得分:0)

$auth是构造函数的局部变量。如果您希望类中的方法使用该变量,则需要将值分配给$this->auth而不是$auth$this指的是当前对象。