[php] 간단 Properties class test 5.0 이상에서 > 팁앤테크

본문 바로가기
사이트 내 전체검색

팁앤테크

[php] 간단 Properties class test 5.0 이상에서

페이지 정보

본문

<?
/********************

* Properties class
*
* Date : 2010.
*
* @author
*
* desc :
* map 자료구조 형태의 프로퍼티를 관리하는 class
*
*/


class Properties
{
private $list = null; // 프로퍼티를 담을 배열

/*******************
* 생성자
* arg[0] : 타입 - Properties class type 이어야 한다. */
public function __construct(Properties $defaultProperties=null)
{
if ($defaultProperties)
{
$this->list = $defaultProperties->getList();
}
}


/*******************
* property 값을 리턴한다.
* arg[0] : list의 key */
public function getProperty($key)
{
if (is_array($this->list) && $key)
return $this->list[$key];
else
return "";
}


/*******************
* property 값을 리턴한다.
* arg[0] : list의 key */
public function setProperty($key, $value)
{
$this->list[$key] = $value;
}


/*******************
* property 값을 배열형태로 받는다.
* arg[0] : property 배열 */
public function setList($list)
{
$this->list = $list;
}


/*******************
* property 배열을 리턴한다.
* */
public function getList()
{
return $this->list;
}
}


/*
$p = new Properties();
$p->setProperty('apple', '사과');

$props = new Properties($p);
echo $props->getProperty('apple')."<br/>";
var_dump($props->getList());


result:
>> 사과
>> array(1) { ["apple"]=> string(6) "사과" }
*/


class Item
{
public $name = "";
public $price = 0;
protected $spec = null;

public function __construct($name, $price)
{
$this->name = $name;
$this->price = $price;
}

public function getSpec()
{
return $this->spec;
}

public function setSpec( Properties $props )
{
$this->spec= $props;
//echo get_class($this->props);
}

}



$p = new Properties();
$p->setProperty('width', '400');
$p->setProperty('height', '700');
$p->setProperty('forecolor', 'silver');
$p->setProperty('backcolor', 'black');

$item = new Item('iphone', 300000);
$item->setSpec($p);

echo $item->getSpec()->getProperty('forecolor');
/*
result:
>> silver
*/
?>
추천0

댓글목록

등록된 댓글이 없습니다.

Total 2건 1 페이지
  • RSS

검색

회원로그인

회원가입

사이트 정보

株式会社YHPLUS / 대표 : ZERO
〒140-0011 東京都品川区東大井2-5-9-203
050-5539-7787
오픈카카오톡 (YHPLUS) :
https://open.kakao.com/o/slfDj15d

접속자집계

오늘
5,466
어제
4,618
최대
7,259
전체
1,241,014
Copyright (c) 株式会社YHPLUS. All rights reserved.