가끔 DB에 넣고 꺼내고 하기 귀찮기도 하고, 유저가 작업하면서 수정한다거나 하는 일이 잦다면 DB에 넣었다 수정했다 지웠다 하느니 session에 넣어두었다가 다시 꺼내면 유용합니다.
간단히는 인스턴스 자체를 그냥 serialize($obj) 로 했다가 다시 unserialize 해주는 거지요.
인스턴스 A를 넣었다가 꺼내보겠습니다 :
<?php // ... class 정의는 따로 있다고 칩니다 ... session_start(); include('A.php'); // ... $a = new A; $_SESSION["myA"] = serialize($a); ?>
꺼낼 때는 :
<?php session_start(); include('A.php'); if (isset($_SESSION["myA"]) { echo "A was found..."; $a = unserialize($_SESSION["myA"]); var_dump($a); } else { echo "A was not found in the session."; } ?>
이러면 됩니다. 주의할 점은
- 당연히 session_start(); 가 되어야 하고,
- 꺼내고 넣고 할 클래스에 대한 정의가 양쪽 페이지에 다 있어야 합니다. 그렇지 않으면 SESSION 오류로 처리됨...
여기까지입니다.
'Dev > php' 카테고리의 다른 글
[php] a href tag에서 url만 추출하고 <a> tag 제거 (0) | 2014.08.11 |
---|---|
정규식 Regular expression 이용한 url 추출 (0) | 2014.08.06 |
[php] const와 define() (0) | 2014.03.09 |
variable variables, 변수명을 runtime에 지정 (0) | 2014.02.14 |
php - mySql 한글 깨짐 현상 (0) | 2014.02.12 |