2016-07-08 11 views
0

コントローラは外部リソースからクエリからデータを受信します。これに応じて、フィールドpageを持つオブジェクトがあります。 クライアントのセッション全体でどのように結果を保存できますか?Laravelは変数を永久にサポートしていますか?

たとえば、Objective Cでは、これはシングルトン方式のモデルに使用されます。

+2

laravelは、PHPです。それで全部です。 PHPでデータを保持したい場合は、ある種のセッションを使用する必要があります。そうしないと、スクリプトが終了するとすべてが破棄され/失われます。 –

+1

「永久に」とはどういう意味ですか?永続データの場合は、データベースまたは構成に格納する必要があります。または、**セッションごとの**保存された変数に対応するlaravelのセッションオブジェクトに格納できます。たとえば、 'session() - > set( 'my-key'、 'my-value')'を呼び出すと、アプリケーションで 'session() - > get( 'my-key')' –

+0

あなたは静的変数のようなセッション中にリクエストからデータを保存する – Huligan

答えて

3

Webは要求応答サイクルです。これは、変数が1回のリクエストでのみ使用可能であることを意味します。セッションを通じて(リクエストを介して)データを永続化するには、そのセッション内で保存したいと思うでしょう。

あなたはセッション変数を使用することができます。

// save a session value 
$request->session()->put('key', 'value'); 

// retrieve a session value from a request 
$value = $request->session()->get('key'); 

// or if not in a controller with no access to the `$request` object 
$value = session('key'); 

https://laravel.com/docs/5.2/session#basic-usage

+0

セッションを使用するように私に申し出ますか?しかし、Singltonはどうですか? – Huligan

+1

シングルトンはセッション全体で持続しません(セッションは複数の要求で構成されています)。シングルトンデータはメモリに保存されます。一度レスポンスがクライアントに返されると、そのリクエストのメモリはガベージコレクトされます。複数の要求にわたって永続化するには、メモリの外に保存する必要があります(セッションはそのために使用できます)。 – swatkins

+1

Objective-Cでは要求/応答サイクルで操作していないため、Objective-Cで動作します。シングルトンはObjective-C内で永続化されます。 – swatkins

関連する問題