추상클래스 – 6.세셔너 확장

저장 매체의 변경

세셔너 함수를 작성하는데 추상클래스를 이용하였으면, 그 이점이 있어야 할 것 아닙니까? 그 한 예로 공개된 세셔너 함수에서 사용하고 있는 파일 시스템 대신에 데이터베이스를 이용하여 보도록 하겠습니다. 다른 클래스는 건드릴 필요가 전혀 없으며 오로지 클래스 sessStaticDevice 만 아래에 있는 클래스로 대체시키면 됩니다.

세셔너 데이터 저장용 테이블 생성

데이터베이스를 이용하기 때문에 먼저 세션 데이터를 저장할 테이블을 생성하여야 합니다. 아래는 MySQL 데이터베이스의 테이블을 생성하기 위한 SQL 문을 나타내었습니다.

session_start() 함수 수정

또 하나 추가로 처리하여야 할 것은 데이터베이스를 세셔너 함수 내에서 사용하기 위한 함수가 하나 추가되었습니다. 그것은 prvInitBase() 함수이며, 이 함수에서는 클래스 $sessStatic 내에서 사용할 데이터베이스 객체를 생성하는 역할을 합니다. session_start() 함수에서 스크립트 실행 후 단 한번만 실행시켜 주면 됩니다.

미니디비 파일 인클루드 및 객체 생성

데이터베이스 예제는 제가 공개한 미니디비를 이용하였기 때문에, 사용자 프로그램에서 세셔너 파일을 인클루드 하기 전에 미니디비 파일을 인클루드하여야 하며, session_start() 함수를 실행하기 전에 미니디비 클래스를 이용하여 데이터베이스 객체를 생성하여야 합니다. 이 때 객체명은 사용자가 임의로 지정할 수 있습니다.

“……” 부분은 이미 공개한 세셔너함수-0.2.0 또는 0.2.1과 사용방법이 동일합니다. 물론 PHP4 세션함수 사용법과도 동일합니다. 데이터베이스용 세셔너함수에 대한 자료는 파일로 공개하지 않겠습니다. 필요한 것은 이곳에 모두 있기 때문에 여러분이 잘 이해하신 후 사용하시면 제대로 동작할 것입니다.

답글 남기기