> php教程 > php手册 > 본문

ThinkPHP5에서 세션 사용

WBOY
풀어 주다: 2016-10-22 00:00:06
원래의
1478명이 탐색했습니다.

이전 버전의 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에 처음 게재되었습니다. 재인쇄 시 출처를 명시해 주세요.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿