2012-05-07 3 views
1

CodeIgniter에서 기본 세션을 어떻게 사용합니까?Codeigniter 2에서 원시 세션은 어떻게 사용합니까?

현재 session_startconstants.php에 사용 중입니다. 그게 옳은가? 함정은 무엇이며 더 좋은 방법이 있습니까?

PHP 응용 프로그램이 있고 CI에서 새 코딩을 수행 할 계획이므로이 작업을 수행하고 있습니다. 또한

, 나는 그런 당신이 설정할 수 있습니다

$this->load->library('session'); 

2.

감사에게 바람직 버전 나 CI의 기초를 가르치는 좋은 CI의 문서에

+1

세션을 처리하고 DB의 저장소를 관리하기 위해 이미 (http://codeigniter.com/user_guide/libraries/sessions.html) 라이브러리가있는 동안 네이티브 세션 처리를 사용 하시겠습니까? –

+0

왜 니스와 같은 캐싱을하는 고통 때문입니다. –

+0

다음을 확인하십시오 : https://github.com/nixarsoft/native-php-session-codeigniter – kodmanyagha

답변

4

일반적으로 session_start을 사용한 다음 $_SESSION을 읽고 저장합니다. 역사적으로 수행 한 작업은 session_start 호출을 컨트롤러의 생성자 메서드에 배치하는 것입니다. CI_Controller에서 상속하는 단일 기본 클래스가 있으며 언어 현지화, 세션 초기화 및 P3P 헤더 설정과 같은 바보 같은 작업을 처리합니다. 내 모든 다른 컨트롤러는 그걸 상속하고 모두 설정됩니다.

네이티브 세션을 사용하는 것은 때로는 매우 유용합니다. 네이티브 세션을 사용하는 몇 가지 구성 요소를 접했을 뿐이므로 패치를 다루지 않을 것입니다. 네이티브 세션을 사용하는 Redis 세션 저장 핸들러가 있습니다 : CI 용으로 다시 작성할 수 있지만 ... 그곳에있는 것을 사용하지 않는 이유는 무엇입니까?

+0

그래서 하나의 기본 클래스를 CI_Controller에서 상속하고 모든 클래스 (컨트롤러)에서 상속합니다 – aWebDeveloper

+0

그래. 거기에 네이티브 세션 시작과 같은 일반적인 기능을 모두 수행 할 수 있습니다. – Femi

+0

thx, 아주 잘 작동합니다. – airbai

2

로드 세션 라이브러리를 찾고 있어요 데이터를 사용하는 데이터

$this->session->set_userdata((array)$userdata); 

session_start 메소드는 PHP에 내장 된 세션 처리를 사용합니다. 이는 CI에 권장되지 않습니다. 공식 문서의 인용문 :

세션 클래스는 기본 PHP 세션을 사용하지 않습니다. 자체 세션 데이터 인 을 생성하여 개발자에게 더 많은 유연성을 제공합니다.

http://codeigniter.com/user_guide/libraries/sessions.html 에서보세요 - CodeIgniter는 꽤 잘 설명되어 있습니다.

+2

그럼 CI 세션 처리가 형편 없습니다. 나는 그것을 사용하지 않는 것이 좋습니다 – idok

+0

왜 끔찍한가요? – subZero

+0

암호화 후 4k의 제한이 있으며 니스로 잘 작동하지 않기 때문에 끔찍한 일입니다. –

2

here으로 설명한 원시 세션 라이브러리를 사용하고 있습니다. 기본적으로 이는 CI 세션 라이브러리와 동일한 방식으로 작동하지만 PHP의 기본 세션을 사용하므로 docs에 설명 된 기능을 사용할 수 있습니다.

Codeigniter 2를 사용하려면 discussion of the article을보십시오.

1

MY_Controller 파일을 읽어보십시오. CI를 확장하기위한 설계된 방법에 따라 각 컨트롤러와 모든 것을 통해이를 상속받을 수 있습니다. 세션 항목 (및 기타 사이트 간 사이트)을 여기에 넣으면 가장 적합합니다.

여기 간단한 CI 소개 기사를 작성했습니다 : http://www.12devsofxmas.co.uk/2011/12/codeigniter/

는 등 형태의 많은 응용 프로그램을 작성하는 경우는 프레임 워크 첫째 주위에 정말 좋은 플레이를 가지고있다.필자는 템플릿, 자동 폼 생성 등을 처리하기 위해 많은 것을 작성했습니다. 아직 공개 배포를 위해 패키징되지 않았지만 우리가 구축중인 응용 프로그램에 모두 잘 작동합니다.

관련 문제