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/

原作者:
...