property-accessor.php

Simple property accessor library
git clone git://git.finwo.net/lib/property-accessor.php
Log | Files | Refs

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'));