* @license MIT */ class MagicWakeup extends MagicMethodGenerator { /** * Constructor */ public function __construct(ReflectionClass $originalClass) { parent::__construct($originalClass, '__wakeup'); /* @var $publicProperties \ReflectionProperty[] */ $publicProperties = $originalClass->getProperties(ReflectionProperty::IS_PUBLIC); $unsetProperties = array(); foreach ($publicProperties as $publicProperty) { $unsetProperties[] = '$this->' . $publicProperty->getName(); } $this->setBody($unsetProperties ? 'unset(' . implode(', ', $unsetProperties) . ");" : ''); } }