2009-10-03 4 views
0

오브젝트의 값을 어떻게 에코합니까? 다음 예제에서 "case"다음에 1105 서비스 번호가 인쇄 될 것으로 예상합니다.오브젝트의 값 인쇄

$vbk->set('service_no','1105'); 
    echo "case".$vbk->service_no; 

이 목적으로 개체를 사용해야합니다.

+0

무엇이 실제로 인쇄됩니까? 무엇이 세트를합니까? – Marius

+0

대소 문자를 인쇄하지만 case1105를 인쇄하고 싶습니다. 개체에서이 값을 인쇄하는 다른 방법으로는 문제가 없습니다. – shantanuo

답변

2

로직을 처리 할 __get 함수를 구현하십시오. __get이 호출되면 저장된 속성을 $properties으로 찾아서 찾으면 반환합니다. POC :

<?php 
class service 
{ 
    private $properties = array(); 

    public function set($key, $value) 
    { 
     $this->properties[$key] = $value; 
    } 

    public function __get($key) 
    { 
     if(isset($this->properties[$key])) 
      return $this->properties[$key]; 

     return null; 
    } 
} 

$service = new service; 
$service->set('service_no','1105'); 

// case1105 
echo "case".$service->service_no; 
+0

기본값은 빈 문자열보다 'null'이됩니다. – Gumbo

+0

네, 맞습니다. – alexn