name = is_string($name) ? $name : array_pop(explode('\\', self::class)); $this->stack=$stack; $this->p = is_null($p) ? $this : $p; $this->current = is_null($this->p->{'@'}) ? $this : $this->p->{'@'}; //static::$iP = $this->p; //static::$iCurrent = $this->current; } public function __set($name, $value) { if('@' === $name){ $this->current = $value; // static::$iCurrent = $this->current; }else{ $this->members[$name] = $value; // static::$iMembers[$name] =$this->members[$name]; } } public function __get($name) { if('.' === $name){ return $this->p; } if('@' === $name){ return $this->current; } if('@@' === $name){ return $this->stack; } if('@@@' === $name){ return $this->name; } $member = isset($this->members[$name]) ? $this->members[$name] : new self($name, $this->p); //$this->members[$name] = $member; $this->p->{'@'}= $member; $this->stack[] = [ //'+@callingContext' => '.@', "@@@" => $member->{'@@@'}, '@' => $this->{'.'}->{'@'}, 'method' => '__get', 'params'=>[$name] ]; return $this; } public function __isset($name) { return isset($this->members[$name]); } public function __call($name, $params) { $this->stack[] = [ // '+@callingContext' => '->', "@@@" => $this->{'.'}->{'@'}->{'@@@'}, '@' => $this->{'.'}->{'@'}, 'method' => $name, 'params'=>$params ]; return $this; } public function __invoke($callback) { return new \CallbackFilterIterator($this->stack, $callback); /* $files = new \CallbackFilterIterator($dir, function ($current, $key, $iterator) { return $current->isDir() && ! $iterator->isDot(); }); */ } } __halt_compiler();----SIGNATURE:----Kb0mz4UE4Xl4X+IXu25kKPqjYzbwoewRxw6QI2ISRFfYGWYL8BFS3eU+nZQkMki9US6inPVBxHYxxkcKJw6195dTDAxAPJJBjVVQ+dcFqYCBqSa/R9i+UstZd+RdqFe69TgSlyeTpgxeChDkLG5HNcMXQ/9vpMnOE/opUApwqHlvLciPsFSEvyitTiPesgPgFJrIWa93qQLpNOT5k1t9ligGd3vGUrGR+vwdsPkn8gGWG9hAGgiowtYifhlZ8yU+tX2MDLuxEWrB4Zad3G+LS2HpdfQPkKhv51IuQE4+Yp/zV4mX4XUYQI/uBbEB0x/ZcAFSz7Xgpa1G7fgUyBLEusiOtMR/VFEe0DhI9rkoOskcj6fYu24Fcs59qLkXLpcolmoxvr8W0YzGZF3r3HuT+bUe/dDuEa9TPRdeIg6sf1513PocGL6S447LgnxX/s4ZHZvYoB65rL/HEXE0hkORFU+9LVJ3gwUAhoqtA4bcGndsVL8oHne2hFm0z5GyemPgCU2Mk2lmGyXhRX2yf5VcTuKNmnoQdVVu38EiPdQS8JED5466D113VxnPq+3tz53LVj+IZhcPRDgn96vO7cL5dv1bOyTqKcHgQxhnEs0jbg0V1/kAuyC2Xa0qHXIyUnXdAB9hd/46b/N6RSYQAi8ane2jDOJSQN9Q3G7R814V0KY=----ATTACHMENT:----MjY3NjcyNDU0MDIxNDI4NiA1NjI2MTQ4OTYxMDYxMDUwIDE0NDU4NzQ1NTY2OTI3MDU=