簡體   English   中英

Laravel 4在控制器之間傳遞變量

[英]Laravel 4 Passing Variables Between Controllers

再次學習。

我只是想知道什么是在控制器之間傳遞變量的最佳方法?

在codeingniter中,我們曾經通過form open命令將隱藏變量傳遞回去,這在Laravel 4中可行嗎?

最好只使用會話嗎?

控制器應該只接收請求,將請求傳遞到數據存儲庫(或Model ),獲取結果,然后通過一個視圖或一組視圖將它們傳遞回用戶,或者最多將用戶重定向到一條新路由,將一些數據傳遞給它。

這就是MVC應該如何工作的方式。

因此,您不應該讓控制器與其他人交談,不要在它們之間傳遞值,因為唯一能夠觸發控制器的東西就是擊中Route的東西,並且每個請求只會發生一次。

這樣,您將永遠不會在同一請求中創建並運行兩個控制器。

但是,如果您需要使數據持續多個請求,則可以選擇以下方法:

請求/重定向/輸入

Input::flash();

要么

return Redirect::action('YourNewController@action')->withInput();

並獲得下一個請求

屆會

Session::put('key', 'value');

並獲得下一個請求

Session::get('key', 'defaultValue');

餅干

$response = Response::make('Hello World');

return  $response->withCookie(Cookie::make('name', 'value', $minutes));

並在下一個請求中獲取

$value = Cookie::get('name');

數據庫

只需將數據保存到數據庫並在下一個請求中檢索即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM