Laravel 4에서 자체 세션 처리기를 사용하려고합니다. Laravel 4 세션을 확장하여 어디서든 지정된 클래스를 사용하여 데이터를 읽고 쓰거나 삭제할 수 있습니다.Laravel 4 - 사용자 지정 세션 처리기
1
A
답변
-1
첫째, 만들고 응용 프로그램의 장소 sessionpayload.php/라이브러리 폴더와 같은 확장 :
class Sessionpayload extends \Laravel\Session\Payload {
//stuff
}
을 그리고, 만들고 응용 프로그램의 장소 session.php/라이브러리 폴더를 그런 식으로 확장 :
을class Session extends \Laravel\Session {
public static function start($driver)
{
static::$instance = new Sessionpayload(static::factory($driver));
}
}
그런 다음 선 아래 주석 처리한다 또는 당신이 당신의 클래스에 대한 네임 스페이스를 사용하는 경우는 변경할 수 있습니다
'Session' => 'Laravel\\Session',
application/config/application.php의
. Laravel 확장에 Laravel 워드 프로세서 밖으로
0
점검 : http://laravel.com/docs/4.2/extending#session
당신은 초기에 새로운 세션 핸들러를 부팅하고 앱 설정에서 원래 SessionServiceProvider 참조 아래에 배치하는 새로운 ServiceProvider를 만들 수 있습니다. Ex. 를 분명히/세션/SessionServiceProvider.php과 ServiceProvider 워드 프로세서 (http://laravel.com/docs/master/providers)에서
use Illuminate\Support\ServiceProvider;
class MySessionServiceProvider extends ServiceProvider {
/**
* Register my custom service provider.
*
* @return void
*/
public function register()
{
$this->registerMySessionHandler();
}
/**
* Register your session manager instance.
*
* @return void
*/
protected function registerMySessionHandler()
{
$this->app->bindShared('mysession', function($app)
{
return new MySessionHandler($app);
});
}
봐 당신은 더 많은 정보를 필요로하는 경우.
이 세션 클래스를 작성 :
class MySessionHandler implements SessionHandlerInterface {
public function open($savePath, $sessionName) {}
public function close() {}
public function read($sessionId) {}
public function write($sessionId, $data) {}
public function destroy($sessionId) {}
public function gc($lifetime) {}
}
는 그런 다음 세션을 사용하여 세션 클래스를 확장 할 수 있습니다 : 나는이 당신의 시작 파일에가는 생각 (() 메소드를 확장하지만, 그 날을 인용하지 않습니다) : 세션 드라이버가 등록되면
Session::extend('mysession', function($app)
{
return new MySessionHandler;
});
, 앱/설정/session.php 구성 파일에서 mysession
드라이버를 사용해야합니다.
관련 문제
- 1. 사용자 지정 세션 제한 시간 처리기
- 2. 사용자 지정 HTTP 처리기
- 3. 세션 문제 Laravel 4
- 4. Laravel 4 세션
- 5. Laravel 4 세션
- 6. Laravel 4 사용자 지정 유효성 검사 규칙
- 7. 사용자 지정 이벤트 처리기
- 8. PHP의 사용자 정의 세션 처리기
- 9. 사용자 지정 데이터베이스 세션 처리기 관련 읽기 문제
- 10. PHP 사용자 지정 세션 처리기 - 데이터베이스 연결이 NULL이 됨
- 11. Laravel 4 & Sentry 2 세션 문제
- 12. ASP.NET 차트 사용자 지정 처리기
- 13. 사용자 지정 web.config 섹션 처리기
- 14. C - 사용자 지정 처리기 작성
- 15. 사용자 지정 응답 처리기 만들기
- 16. C++ 사용자 지정 클라이언트 처리기
- 17. Delphi 사용자 지정 메시지 처리기
- 18. asp.net 사용자 지정 처리기 예외?
- 19. couchdb 사용자 지정 인증 처리기
- 20. Laravel 사용자 지정 굴곡
- 21. Mojolicious 사용자 지정 세션
- 22. Laravel 사용자 지정 오류 페이지의 액세스 세션 변수
- 23. Laravel 4 통과하지 세션 값은 내가 컨트롤러를했다
- 24. 어떻게 Laravel 4 기본 세션 드라이버가 작동합니까?
- 25. Laravel 4 사용자 지정 유효성 검사 규칙 문제
- 26. PHP Iterator 사용자 지정 정렬 순서 (Laravel 4)
- 27. Laravel 4 앱의 사용자 알림
- 28. Laravel 4 : 사용자 선택 쿼리
- 29. Laravel 4 - 사용자 정의 오류보고
- 30. Laravel 4 - 사용자 정의 클래스로드
Laravel 4에서이 기능이 작동합니까? Laravel 4에 애플리케이션 또는 라이브러리 폴더가 표시되지 않습니다. – Louis
[composer] (http://getcomposer.org)를 사용하여 프레임 워크 (laravel/framework)를 설치해야합니다. . 당신은 아마도 해골 앱 (laravel/laravel)을 가지고있을 것입니다. – fideloper
작곡가가 혼란스러운 점이 아니라면, 나는 당신이 찾고있는 대답을 믿기 만하면 라이브러리 디렉토리를 만들 수 있다는 것입니다. 가장 좋은 경우는 라이브러리 디렉토리를 만들고 composer.json 파일을 통해 PSR-0 자동 로딩을 설정하는 것입니다. – fideloper