__sleep() public method

It is only serialized what is necessary for best unserialization performance. That means any metadata properties that are not set or empty or simply have their default value are NOT serialized. Parts that are also NOT serialized because they can not be properly unserialized: - reflClass (ReflectionClass) - reflFields (ReflectionProperty array)
public __sleep ( ) : array
return array The names of all the fields that should be serialized.
 /**
  * Determines which fields get serialized.
  *
  * @return array The names of all the fields that should be serialized.
  */
 public function __sleep()
 {
     $serialized = parent::__sleep();
     if (isset($this->accessControl)) {
         $serialized[] = 'accessControl';
     }
     if (isset($this->crypt)) {
         $serialized[] = 'crypt';
     }
     if (isset($this->generator)) {
         $serialized[] = 'generator';
     }
     if (isset($this->freeze)) {
         $serialized[] = 'freeze';
     }
     if (isset($this->owner)) {
         $serialized[] = 'owner';
     }
     if (isset($this->permissions)) {
         $serialized[] = 'permissions';
     }
     if (isset($this->rest)) {
         $serialized[] = 'rest';
     }
     if (isset($this->roles)) {
         $serialized[] = 'roles';
     }
     if (isset($this->serializer)) {
         $serialized[] = 'serializer';
     }
     if (isset($this->softDelete)) {
         $serialized[] = 'softDelete';
     }
     if (isset($this->stamp)) {
         $serialized[] = 'stamp';
     }
     if (isset($this->state)) {
         $serialized[] = 'state';
     }
     if (isset($this->validator)) {
         $serialized[] = 'validator';
     }
     if (isset($this->zones)) {
         $serialized[] = 'zones';
     }
     return $serialized;
 }