생성자
방문자공용변수가 저장되는 장소(디렉토리 또는 디비 테이블명)를 변경할 필요가 없으면 아래와 같이 입력인자 없이 객체를 생성합니다.
[code php;gutter:false]
$appl = new Applicationer;
.
.
. [/code]
.
.
. [/code]
파일시스템용에서 저장되는 디렉토리를 변경하려면 아래와 같이 생성자의 입력인자인 배열의 요소 "resource"에 디렉토리명을 지정하십시요.
[code php;gutter:false]
require("./class.applfile.php");
$argv["resource"] = "새로운 디렉토리명";
$appl = new Applicationer($argv);
.
.
. [/code]
$argv["resource"] = "새로운 디렉토리명";
$appl = new Applicationer($argv);
.
.
. [/code]
데이터베이스용에서 저장되는 테이블을 변경하려면 아래와 같이 생성자의 입력인자인 배열의 요소 "resource"에 테이블명을 지정하십시요.
[code php;gutter:false]
require("./class.applbase.php");
$argv["resource"] = "새로운 테이블명";
$appl = new Applicationer($argv);
.
.
. [/code]
$argv["resource"] = "새로운 테이블명";
$appl = new Applicationer($argv);
.
.
. [/code]
사용자 메소드
bool lock(string varlist | array varlist);
lock() 메소드에 전달되는 방문자공용변수 중에 아직 등록되지 않은 변수가 있으면 lock() 메소드 내부에서 자동적으로 등록시켜 줍니다. 반대로 방문자공용변수에 할당된 값이 null이면 등록을 취소(해당 변수에 대한 모든 정보를 삭제함)합니다. 이 함수의 역할은 다른 방문자가 지정된 변수를 조작할 수 없도록 막아줍니다. lock() 메소드로 지정된 방문자공용변수는 오직 lock() 시킨 문서에서만 그 값을 수정할 수 있습니다. 다른 방문자(다른 웹문서)에서 해당 변수를 사용할 수 있도록 하기 위해서는 unlock() 메소드로 풀어주어야 합니다.
[code php;gutter:false]
$appl->lock("counter");
if (!$appl->counter)
$appl->counter = 100; // 100부터 카운팅 시작
$appl->counter++;
$appl->unlock("counter"); [/code]
if (!$appl->counter)
$appl->counter = 100; // 100부터 카운팅 시작
$appl->counter++;
$appl->unlock("counter"); [/code]
복수의 방문자공용변수를 lock, unlock 하려면 배열을 이용하여 전달합니다.
[code php;gutter:false]
$appl->lock(array("counter", "stock"));
.
.
.
$appl->unlock(array("counter", "stock")); [/code]
.
.
.
$appl->unlock(array("counter", "stock")); [/code]
bool unlock(string varlist | array varlist);
다른 방문자가 lock() 으로 지정된 변수를 조작할 수 있도록 하기 위해 lock를 풀어주는 메소드입니다. 만약 unlock에서 지정된 변수의 값이 빈문자열이면 더 이상 필요없는 변수라고 판단하여 파일 또는 디비에 등록되어 있는 변수를 완전히 삭제시켜 줍니다.
사용 예제
첨부된 사용예제(파일명 test.php3)는 세션함수를 이용하기 때문에 만약 PHP3에서 실험하기위해서는 제가 공개한 세셔너를 추가로 다운로드 받아 같은 디렉토리에 복사하여야 합니다. 그리고 디비용 애플리케이셔너를 실험하기 위해서는 미니디비 0.2.2p1 버전이 필요하니 이것도 필요하면 다운로드하여 같은 디렉토리에 복사하여야 합니다.
'phpsource > 캐시&세션&쿠키' 카테고리의 다른 글
{캐시리미터}1.브라우저캐시 (0) | 2001.01.16 |
---|---|
{애플리케이셔너}5.업그레이드 및 패치 (0) | 2000.11.23 |
{애플리케이셔너}3.개요 (0) | 2000.11.23 |
{애플리케이셔너}2.세셔너와의 관계 (0) | 2000.11.23 |
{애플리케이셔너}1.방문자공용변수와의 관계 (0) | 2000.11.23 |