如何在Laravel Controller中使用私有变量,并在两个方法之间共享该变量值。 (将其设置为另一个使用它。)
答案 0 :(得分:9)
你说的是一个控制器,对吗?所以我会假设这就是你的意思:
class ControllerController extends Controller {
private $variable;
public function __construct($whatever)
{
$this->variable = $whatever;
}
public function method1($newValue)
{
$this->variable = $newValue;
}
public function method2()
{
return $this->variable;
}
}
如果你在同一个请求中做事,你可以
$this->method1('newvalue');
echo $this->method2();
它会打印newvalue
。
如果你是在请求之间进行的,你需要记住你的应用程序在一个新的请求重新启动后结束,所以你需要将它存储在某个地方,比如在Session变量中:
Session::put('variable', $newvalue);
然后
Session::get('variable');
或者您可以使用返回方法所需的值重定向:
Redirect::to('posts')->with('variable','this is a new value');
在第二个
Session::get('variable');
答案 1 :(得分:1)