현재 사용자를 위해 데이터를 유지하는 쉬운 방법입니다. 이 튜토리얼은 Laravel에서 세션 작업의 기본을 제공합니다.
Laravel에서 세션은 정보를 저장하고 사용자의 요청을 올바르게 처리하는 방법입니다. 사용자가 Laravel 애플리케이션을 시작하면 해당 사용자에 대한 세션이 자동으로 시작됩니다. 세션 데이터는 서버에 저장되고 세션을 식별하기 위해 고유 식별자가 있는 작은 쿠키가 사용자의 브라우저로 전송됩니다.
세션을 사용하여 여러 페이지 또는 요청에서 사용하려는 데이터를 저장할 수 있습니다. 예를 들어 사용자 인증을 위해 세션을 사용하거나 애플리케이션의 세션 중에 사용하려는 기타 정보를 저장할 수 있습니다.
Laravel에서 세션을 사용하려면 먼저 파일에서 세션을 활성화해야 합니다. config/session.php
구성의. 이 파일에서 세션과 관련된 구성 매개변수를 설정할 수 있습니다. 예를 들어 세션 기간, 세션 데이터를 저장하는 데 사용할 드라이버 및 세션 데이터의 저장 위치입니다.
아래는 파일 예시 sessions.php
세션 기간 120초, 디렉터리에 저장된 파일 사용 framework/sessions
:
<?php
use Illuminate\Support\Str;
return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => env('SESSION_CONNECTION', null),
'table' => 'sessions',
'store' => env('SESSION_STORE', null),
'lottery' => [2, 100],
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
'path' => '/',
'domain' => env('SESSION_DOMAIN', null),
'secure' => env('SESSION_SECURE_COOKIE'),
'http_only' => true,
'same_site' => 'lax',
];
파일의 환경 변수를 사용하여 세션을 구성할 수도 있습니다. .env
. 예를 들어 데이터베이스 세션 드라이버를 사용하고 세션 데이터를 세션 테이블에 저장하려면 MySQL 유형의 DB를 사용하여 다음과 같은 환경 변수를 설정할 수 있습니다.
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_CONNECTION=mysql
SESSION_TABLE=sessions
Laravel에서 세션 데이터로 작업하는 세 가지 방법이 있습니다:
helper
중 global session
;Request instance
. 이 모든 경우에 세션에 저장한 데이터는 세션이 만료되거나 수동으로 제거될 때까지 동일한 사용자가 만든 후속 요청에서 사용할 수 있습니다.
Laravel에서 함수를 사용하여 Global Session Helper
이는 프레임워크에서 제공하는 세션 서비스에 액세스하는 편리한 방법입니다. 애플리케이션의 세션에서 데이터를 저장하고 검색할 수 있습니다. 다음은 사용 방법의 예입니다. session helper
:
// Store data in the session
session(['key' => 'value']);
// Retrieve data from the session
$value = session('key');
// Remove data from the session
session()->forget('key');
// Clearing the Entire Session
session()->flush();
사전 값을 전달할 수도 있습니다.defi함수의 두 번째 인수로 nite session
, 지정된 키가 세션에서 발견되지 않으면 반환됩니다.
$value = session('key', 'default');
Session Request
Laravel에서 세션 요청 인스턴스는 HTTP 요청을 나타내는 객체를 말하며 요청 메소드(GET, POST, PUT 등), 요청 URL, 요청 헤더 및 요청 본문과 같은 요청에 대한 정보를 포함합니다. . 또한 이 정보를 검색하고 조작하는 데 사용할 수 있는 다양한 방법이 포함되어 있습니다.
일반적으로 다음 인스턴스에 액세스합니다. Session Request
변수를 통해 $request
Laravel 응용 프로그램에서. 예를 들어 헬퍼 함수를 사용하여 요청 인스턴스를 통해 세션에 액세스할 수 있습니다. session()
.
use Illuminate\Http\Request;
class ExampleController extends Controller
{
public function example(Request $request)
{
// Store data in the session using the put function
$request->session()->put('key', 'value');
// Retrieve data from the session using the get function
$value = $request->session()->get('key');
// Check if a value exists in the session using the has function:
if ($request->session()->has('key')) {
// The key exists in the session.
}
// To determine if a value exists in the session, even if its value is null:
if ($request->session()->exists('users')) {
// The value exists in the session.
}
// Remove data from the session using the forget function
$request->session()->forget('key');
}
}
이 예에서 변수 $request
그것은 클래스의 인스턴스입니다 Illuminate\Http\Request
, 현재 HTTP 요청을 나타냅니다. 함수 session
요청 인스턴스는 클래스의 인스턴스를 반환합니다. Illuminate\Session\Store
, 세션 작업을 위한 다양한 기능을 제공합니다.
Ercole Palmeri
지난 월요일, Financial Times는 OpenAI와의 계약을 발표했습니다. FT는 세계적 수준의 저널리즘에 라이선스를 부여합니다…
수백만 명의 사람들이 스트리밍 서비스 비용을 지불하고 월간 구독료를 지불합니다. 당신은…
Coveware by Veeam은 계속해서 사이버 강탈 사건 대응 서비스를 제공할 것입니다. Coveware는 법의학 및 교정 기능을 제공할 것입니다…