이전 버전의 ThinkPHP에 익숙하기 때문에 Session을 사용할 생각을 하면 직접 $_SESSION을 사용하여 접근하곤 합니다. 오늘 ThinkPHP5의 매뉴얼을 읽어보니 이렇게 사용하는 것은 안전하지 않다는 것을 알게 되었습니다. . ThinKPHP5는 세션을 캡슐화하는데, 이는 적어도 사용 시 훨씬 더 안전해 보입니다.
세션 설정
Session을 운영하려면 Think PHP5의 ThinkSession 클래스를 사용해야 합니다
코드 예시는 다음과 같습니다.
namespace app\index\controller; use think\Controller; use think\Session; class Index extends Controller{ public function index() { return $this->fetch(); } public function save($name='') { Session::set('user_name',$name); $this->success('Session设置成功'); } }
세션 낭독
세션을 읽는 가장 안전한 방법은 ThinkRequet 클래스의 세션 메소드를 사용하는 것입니다
샘플 코드는 다음과 같습니다.
namespace app\index\controller; use think\Request; class User { public function index(Request $request) { echo $request->session('user_name'); // 读取二维数组 echo $request->session('user.name'); } }
이 방법을 사용하면 안전할 뿐만 아니라 모든 차원의 세션 변수를 읽을 수 있습니다.
물론 세션 클래스를 사용하여 세션을 읽을 수도 있지만 이 방법은 최대 2차원 세션 변수 읽기만 지원합니다.
샘플 코드:
namespace app\index\controller; use think\Session; class User{ public function index() { echo Session::get('user_name'); echo Session::get('user.name'); } }
세션 변수를 저장하기 위해 전역 배열 $_SESSION을 직접 사용하는 것은 조금 번거롭고 편리하지 않지만 안전을 위해 시도해 볼 가치가 있습니다.
이 기사는 Dingqiu.com에 처음 게재되었습니다. 재인쇄 시 출처를 명시해 주세요.