public static final function unpack($data)
{
$self = new static();
list($self->version, $self->type, $self->requestId, $self->contentLength, $self->paddingLength, $self->reserved) = array_values(unpack(FCGI::HEADER_FORMAT, $data));
$payload = substr($data, FCGI::HEADER_LEN);
self::unpackPayload($self, $payload);
if (get_called_class() !== __CLASS__ && $self->contentLength > 0) {
static::unpackPayload($self, $payload);
}
return $self;
}