example.php (1846B)
1 <?php 2 3 //include composer's autoloader in this example 4 include __DIR__ . '/vendor/autoload.php'; 5 6 use Finwo\PropertyAccessor\PropertyAccessor; 7 8 class testObject 9 { 10 public $pubVar = 'pubValue'; 11 12 protected $proVar = 'proValue'; 13 protected $proAccessibleVar = 'proAccessibleValue'; 14 15 private $priVar = 'priValue'; 16 private $priAccessibleVar = ''; 17 18 /** 19 * @return mixed 20 */ 21 public function getProAccessibleVar() 22 { 23 return $this->proAccessibleVar; 24 } 25 26 /** 27 * @param $proAccessibleVar 28 * @return $this 29 */ 30 public function setProAccessibleVar($proAccessibleVar) 31 { 32 $this->proAccessibleVar = $proAccessibleVar; 33 return $this; 34 } 35 36 /** 37 * @return mixed 38 */ 39 public function getPriAccessibleVar() 40 { 41 return $this->priAccessibleVar; 42 } 43 44 /** 45 * @param $priAccessibleVar 46 * @return $this 47 */ 48 public function setPriAccessibleVar($priAccessibleVar) 49 { 50 $this->priAccessibleVar = $priAccessibleVar; 51 return $this; 52 } 53 54 } 55 56 $obj = new testObject(); 57 $arr = array( 58 'type' => 'person', 59 'person' => array( 60 'name' => 'John Doe', 61 'age' => '40' 62 ) 63 ); 64 65 //accessor in debug mode 66 $acc = new PropertyAccessor(true); 67 68 printf("\$obj->pubvar : %s\n", $acc->get($obj, 'pubVar')); 69 printf("\$obj->proVar : %s\n", $acc->get($obj, 'proVar')); 70 printf("\$obj->proAccessibleVar : %s\n", $acc->get($obj, 'proAccessibleVar')); 71 printf("\$obj->priVar : %s\n", $acc->get($obj, 'priVar')); 72 printf("\$obj->priAccessibleVar : %s\n", $acc->get($obj, 'priAccessibleVar')); 73 74 print("\n"); 75 76 printf("\$arr|type : %s\n", $acc->get($arr, 'type')); 77 printf("\$arr|person|name : %s\n", $acc->get($arr, 'person|name')); 78 printf("\$arr|person|age : %s\n", $acc->get($arr, 'person|age'));