__initializer__ = $initializer; $this->__cloner__ = $cloner; } /** * {@inheritDoc} * @param string $name */ public function __get($name) { $this->__initializer__ && $this->__initializer__->__invoke($this, '__get', array($name)); return parent::__get($name); } /** * {@inheritDoc} * @param string $name * @param mixed $value */ public function __set($name, $value) { $this->__initializer__ && $this->__initializer__->__invoke($this, '__set', array($name, $value)); return parent::__set($name, $value); } /** * * @return array */ public function __sleep() { if ($this->__isInitialized__) { return array('__isInitialized__', 'id', 'club', 'member', 'archived'); } return array('__isInitialized__', 'id', 'club', 'member', 'archived'); } /** * */ public function __wakeup() { if ( ! $this->__isInitialized__) { $this->__initializer__ = function (ClubMember $proxy) { $proxy->__setInitializer(null); $proxy->__setCloner(null); $existingProperties = get_object_vars($proxy); foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { if ( ! array_key_exists($property, $existingProperties)) { $proxy->$property = $defaultValue; } } }; } } /** * */ public function __clone() { $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', array()); } /** * Forces initialization of the proxy */ public function __load() { $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', array()); } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ public function __isInitialized() { return $this->__isInitialized__; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ public function __setInitialized($initialized) { $this->__isInitialized__ = $initialized; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ public function __setInitializer(\Closure $initializer = null) { $this->__initializer__ = $initializer; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ public function __getInitializer() { return $this->__initializer__; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic */ public function __setCloner(\Closure $cloner = null) { $this->__cloner__ = $cloner; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific cloning logic */ public function __getCloner() { return $this->__cloner__; } /** * {@inheritDoc} * @internal generated method: use only when explicitly handling proxy specific loading logic * @static */ public function __getLazyProperties() { return self::$lazyPropertiesDefaults; } /** * {@inheritDoc} */ public function toArray(array $expand = array ( ), array $intersect = array ( )) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'toArray', array($expand, $intersect)); return parent::toArray($expand, $intersect); } /** * {@inheritDoc} */ public function fromArray($data = array ( )) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'fromArray', array($data)); return parent::fromArray($data); } }