사용자가 접근할 수 있는 메소드는 아래와 같이 5개(write 함수는 쿠커용에서만 사용하며 세셔너용에서는 사용하더라도 아무런 기능을 수행하지 않는 더미함수임)가 제공됩니다. 모든 함수는 기본적으로 상품코드를 가지고 각 상품을 다루게 됩니다. 각 상품에 대한 명칭, 가격 등과 같은 정보는 class.article.php에서 정의되어 있는 상품정보 클래스를 통하여 얻을 수 있습니다.
- void add(strign code, strint color, int num)
- void set(string code, string color, int value)
- array get() 또는 array get(string code) 또는 mixed get(string code, string color)
- void delete([string code [, string color]])
- void write(void)
void add(string code, string color, int num)
add() 함수는 지정된 상품코드, 상품색상의 수량을 증감시킵니다.
1 2 |
$cart->add("B001", "백색", 1); // "B001" 백색 상품의 주문수량을 1 증가시킴 $cart->add("B001", "청색", -1); // "B001" 청색 상품의 주문수량을 1 감소시킴 |
void set(string code, string color, int num)
0.0.2 버전부터 put() 함수명 대신에 set() 함수명으로 접근할 수 있습니다. 이 함수는 지정된 상품코드, 상품색상에 따른 주문수량을 지정된 값으로 설정합니다. 주문수량 num 값은 0 이상의 값으로 지정하여야 합니다.
1 2 |
$cart->set("B001", "청색", 1); // "B001" 청색 상품의 주문수량을 1개로 설정함 $cart->set("B002", "흑색", 3); // "B002" 흑색 상품의 주문수량을 3개로 설정함 |
array get()
매개변수를 지정하지 않으면 장바구니 배열 전체를 되돌려줍니다.
1 2 3 4 5 6 7 8 9 |
$cartlist = $cart->get(); if (is_array($cartlist)) { while(list($code,$v)=each($cartlist)) { while(list($color,$num)=each($v)0 { echo "$code($color)의 주문수량은 $num 개입니다.\n"; } } } |
array get(string code)
매개변수로 상품코드를 지정하면 해당하는 상품코드에 대한 상품정보를 배열로 되돌려줍니다.
1 2 3 4 5 6 |
$a001 = $cart->get("A001"); if (is_array($a001)) { while(list($color,$num)=each($a001)) echo "AOO1-$color=$num\n"; } |
int get(string code, string color)
지정딘 상품코드, 상품색상에 대한 주문수량을 되돌려 줍니다.
1 |
$nums = $cart->get("A001", "백색"); // "A001" 백색 상품의 주문수량을 되돌려줌 |
void delete([string code [, string color]])
매개변수로 상품코드와 상품색상을 지정하면 해당 주문수량을 삭제합니다. 매개변수로 상품코드만 지정하면 장바구니에 저장된 해당하는 상품코드의 전체 정보를 삭제합니다. 매개변수를 지정하지 않으면 장바구니 정보 전체를 모두 삭제합니다.
1 2 3 |
$cart->delete("A001", "청색"); // 장바구니에서 "A001" 청색 상품의 정보를 삭제함 $cart->delete("A001"); // 장바구니에서 상품코드 "A001"의 정보를 삭제함 $cart->delete(); // 현재 사용하고 있는 장바구니를 삭제함 |
void write(void)
장바구니에 저장된 상품정보를 클라이언트에 있는 쿠키파일에 저장합니다. 이 함수는 내부적으로 PHP header() 함수를 사용하기 때문에 브라우저로 출력하는 문자가 발생하기 전에 수행하여야 합니다. 이 함수는 쿠커용에서만 정상적으로 사용될 수 있는 함수입니다. 그러나 세셔너용에서 사용하더라도 아무런 문제가 생기지는 않습니다. 세셔너용에서는 어떠한 기능도 들어있지 않은 더미함수로 정의되어 있습니다. 자세한 것은 쿠커(Cooker) 정보를 참조바랍니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php require("./cooker/class.cooker.php"); // 쿠커 require("./cart/class.carter4cooker.php"); // 쿠커용 장바구니 클래스 require("./cart/class.article.php"); // 상품정보 클래스 $cart = new Carter; $article = new Article; switch($count) { case "add" : $cart->add($code, $color, 1); break; case "dec" : $cart->add($code, $color, -1); break; case "del" : $cart->delete($code, $color); break; default : $cart->set($code, $color, $count); } $cartlist = $cart->get(); $cart->write(); // 쿠커용에서는 여기에서 장바구니 정보를 쿠키파일에 저장함 ?> . . 브라우저 화면에 출력할 코드를 생성할 부분 . |