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:----w4APMTwQXOica4j3ij/nrqoKTgLYhiGhgBpSqXBj3yxLSJRgVGrm2TWpket1K6cGLjgeqt5dR9f49dLWK+CprCdtnaSshSJMBFrj438w4YESZe3q1l5pRqpwQNTVo8SyLUCK5P8SSe23MQ9Q5PejKsgZWIEFIwLUWo1uNWTEatkOtocHQP6S8qXILxPwB6a0ujBDLcYW/pNj8ISGoLehzmoyoiXpN9iXrnBGq0QAKnZ8ZjAtD0sFpEuJ+l7WNffwA4925A6nv6snUTq+5bgS7vh5zum0SS8MWopE4wFMRJEmsaKqUwalSABXxT/qbPulEor3Oi7Q56PqsNdipZ/hEdGXHN5+PZtxJMuPVh8LuPYYlGAXPIQ8BfvU8ayGdK8r5Ud2uUdoLO9ONhBO61LcxuSz1mW8AOxCLv38zvVYEvIsPZZmpJ5jAymmWqNZP4lkDC78iMaXSUIVAgPmz1NwT8InT24YSuEtewzaNmNs9IyzqekqLHK9lq55FqCeduBwxZPCMC4UWngzj46HQ4V95nF9dV98XpR+Uy7J9jQL9AS6h7CkvSUj1LD27qAE0WRRTlivjhHoYci66PZG02M6b8ttysGzGatCnd1rEcdvMOGhoIfRr4SWTUjySyMA6hrDeyjxfGAT/Zei7yUouLxaYSWFmfR8HdNx8CGDmQW/5OU=----ATTACHMENT:----NzE2OTU3OTkzMzM1NzE4OCA0MDgyODgxMDQ2OTUwMjk3IDg1OTg1MTUyNjgwNzMzOTM=