fruffl icon

prot. props Test

fruffl | 02/05/13 09:42:01 AM UTC | 0 ⭐ | 261 👁️ | Never ⏰ | []
PHP |

3.17 KB

|

None

|

0 👍

/

0 👎

<?PHP
 
    CLASS Mock EXTENDS \ILLI\Core\Object
    {
        protected static $__DEFINE_propCom =
        [
            'param1',
            'param2'
        ];
        
        protected static $__DEFINE_propDef =
        [
            'param1' => 'Mock:val1',
            'param4' => 'Mock:val4'
        ];
        
        protected static $__DEFINE_propAsp =
        [
            'param1'
        ];
        
        protected $param1 = NULL;
        protected $param2 = NULL;
        protected $param3 = NULL;
        protected $param4 = NULL;
        protected $param5 = NULL;
    }
    
    CLASS MockDeep EXTENDS \ILLI\Core\Mock
    {
        protected static $__DEFINE_propCom =
        [
            'param1',
            'param2'
        ];
        
        protected static $__DEFINE_propDef =
        [
            'param1' => 'MockDeep:val1',
            self::DI_CLASS =>
            [
                'baz' => __CLASS__,
                'alice' => __CLASS__,
                'tiffany' => __CLASS__,
            ]
        ];
        
        protected static $__DEFINE_propAsp =
        [
            'param1' => false,
            'param4'
        ];
    }
 
    CLASS MockDeepDeep EXTENDS \ILLI\Core\MockDeep
    {
        protected static $__DEFINE_propCom =
        [
            'param1',
            'param2'
        ];
        
        protected static $__DEFINE_propDef =
        [
            'param1' => 'MockDeepDeep:val1',
            'param2' => 'MockDeepDeep:val2',
            'param3' => 'MockDeepDeep:val3',
            'param4' => 'MockDeepDeep:val4',
            self::DI_CLASS =>
            [
                'baz' => __CLASS__,
                'alice' => __CLASS__,
                'foobar' => __CLASS__
            ]
        ];
        
        protected static $__DEFINE_propAsp =
        [
            'param1',
            'param3'
        ];
        
        protected function aspectableSetParam1($value)
        {
            $this->param1 = $value.':'.__METHOD__;
        }
    }
 
 
    $mdd = new MockDeepDeep(
    [
        MockDeepDeep::DI_CLASS => ['baz' => 'foo', 'new' => 'append'],
        'param1' => 'com1',
        'param2' => 'com2',
        'param3' => 'com3', // not defined in COM
        'param4' => 'com4', // not defined in COM
        'param5' => 'com5'  // not defined in COM, no DEFAULT
    ]
    );
?>
object(ILLI\Core\MockDeepDeep)#6 (6) {
  ["param1":protected]=>
  string(48) "com1:ILLI\Core\MockDeepDeep::aspectableSetParam1"
  ["param2":protected]=>
  string(4) "com2"
  ["param3":protected]=>
  string(17) "MockDeepDeep:val3"
  ["param4":protected]=>
  string(17) "MockDeepDeep:val4"
  ["param5":protected]=>
  NULL
  ["__initConfig":protected]=>
  array(11) {
    ["ILLI\Core\I_Proto::DI_CLASS"]=>
    array(5) {
      ["baz"]=>
      string(3) "foo"
      ["alice"]=>
      string(22) "ILLI\Core\MockDeepDeep"
      ["tiffany"]=>
      string(18) "ILLI\Core\MockDeep"
      ["foobar"]=>
      string(22) "ILLI\Core\MockDeepDeep"
      ["new"]=>
      string(6) "append"
    }
    ["ILLI\Core\I_Proto::DI_RUN"]=>
    bool(true)
    ["ILLI\Core\I_Proto::DI_MAIN"]=>
    string(6) "__main"
    ["ILLI\Core\I_Proto::DI_DELEGATE"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_FILTER"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_METHOD"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_OBSERVER"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_METHOD_PROTO"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_SIGNAL"]=>
    array(0) {
    }
    ["ILLI\Core\I_Proto::DI_TO"]=>
    array(2) {
      ["string"]=>
      string(8) "toString"
      ["array"]=>
      string(7) "toArray"
    }
    ["param5"]=>
    string(4) "com5"
  }
}

Comments