2016-07-08 1 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

웹은 요청 - 응답주기입니다. 즉, 변수는 한 요청을 통해서만 사용할 수 있습니다. 세션 전반에 걸쳐 (요청에 따라) 데이터를 유지하려면 해당 세션 내에 저장해야합니다.

당신은 세션 변수를 사용할 수 있습니다

// 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 내에서 지속됩니다. – swatkins