php - PHP - 在控制器中,如何在方法之间传递变量

130 4

我只是想把一个变量传递给同一个laravel控制器中的另一个方法,我花了几个小时,一直没有成功,

假设我在控制器中有以下方法。


public function index()


{


$variable = 1;


}



public function show()


{


dd($variable);


}



我只想让show函数将输出1添加到index函数中初始化,谁能帮我一把。

时间: 原作者:

137 3

类型1:你可以通过定义的变量传递。


protected $variable;


public function index() {


 $this->variable= 1;


}



public function show() {


 echo $this->variable;


}



类型2:另一种方法从一种方法调用方法到另一种方法


public function index() {


 $variable= 1;


 $this->show($variable);


}



public function show($id) {


 echo $id;


}



类型3:你也可以使用会话。


public function index() {


 $variable= 1;


 session()->set('variable', $variable);


}



public function show() {


 $variable = session()->get('variable');


 dd($variable);


}



原作者:
82 3

你可以在控制器类中定义一个变量,该变量应该有该类的范围。

 
private $variable;



 

然后在函数中,你可以使用此变量与$this关键字,


$this->variable = 1;



更新

你可能需要一个构造函数来初始化变量。


public function __construct()


{


 $this->variable = 1;


}



原作者:
51 1

案例1:定义函数之外的变量:


protected $variable;


public function index()


{


$this->variable = 1;


}



public function show()


{


dd($this->variable);


}



案例2:在第二个方法中设置变量is参数,然后从使用的第一个方法调用方法,


public function index()


{


$variable = 1;


$this->show($variable);


}



public function show($variable)


{


dd($variable);


}



原作者:
81 5

你写代码的方式不正确


public function index()


{


$variable = 1;


}



public function show()


{


dd($variable);


}



https://www.geeksforgeeks.org/what-is-the-difference-between-public-private-and-protected-in-php/

原作者:
...