也许我的问题很模糊,所以让我说清楚。我创建了一个 Controller 文件,例如 SomeController.php
,在我的 LoginController
中我有:
use SomeController;
private $instance;
public function someRouteDefinedInRouteFile() {
$this->instance = new SomeController; // now $this->instance must have SomeController instance
return $this->instance;
}
public function someOtherRoute() {
return $this->instance; // it must return the instance but it's null
}
如果someRouteDefinedInRouteFile()
被调用,$this->instance
必须有SomeController
的实例。但是调用 someAnotherRoute()
后,$this->instance
为 null
最佳答案
这是因为这些方法是在单独的请求期间执行的。如果您想使用同一个实例,请使用 IoC将类注入(inject) Controller 构造函数中。
protected $istance;
public function __construct(Instance $instance)
{
$this->instance = $instance;
}
然后您就可以在任何 Controller 的方法中使用它。
关于php - 类的实例化如何适用于 Laravel 中的不同路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48334917/