Copied!

Parent class of all proto messages. Users should not instantiate this class or extend this class or its child classes by their own. See the comment of specific functions for more details.

CloneableInstantiable
Methods
public __construct( $data = NULL)
 
  • ignore
public __debugInfo()
public byteSize()
 
  • ignore
public clear()
 

Clear all containing fields.

  • return null
public discardUnknownFields()
 

Clear all unknown fields previously parsed.

  • return null
public jsonByteSize( $options = 0)
 
  • ignore
public mergeFrom( $msg)
 

Merges the contents of the specified message into current message.

This method merges the contents of the specified message into the current message. Singular fields that are set in the specified message overwrite the corresponding fields in the current message. Repeated fields are appended. Map fields key-value pairs are overwritten. Singular/Oneof sub-messages are recursively merged. All overwritten sub-messages are deep-copied.

  • param object $msg Protobuf message to be merged from.
  • return null
public mergeFromJsonString( $data, $ignore_unknown = false)
 

Parses a json string to protobuf message.

This function takes a string in the json wire format, matching the encoding output by serializeToJsonString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Json protobuf data.
  • param bool $ignore_unknown
  • return null
  • throws \Exception Invalid data.
public mergeFromString( $data)
 

Parses a protocol buffer contained in a string.

This function takes a string in the (non-human-readable) binary wire format, matching the encoding output by serializeToString(). See mergeFrom() for merging behavior, if the field is already set in the specified message.

  • param string $data Binary protobuf data.
  • return null
  • throws \Exception Invalid data.
public parseFromJsonStream( $input, $ignore_unknown)
 
  • ignore
public parseFromStream( $input)
 
  • ignore
public serializeToJsonStream( $output)
 
  • ignore
public serializeToJsonString( $options = 0)
 

Serialize the message to json string.

  • return string Serialized json protobuf data.
public serializeToStream( $output)
 
  • ignore
public serializeToString()
 

Serialize the message to string.

  • return string Serialized binary protobuf data.
Methods
protected hasOneof( $number)
protected mergeFromArray(array $array)
 

Populates the message from a user-supplied PHP array. Array keys correspond to Message properties and nested message properties.

Example:

$message->mergeFromArray([
    'name' => 'This is a message name',
    'interval' => [
         'startTime' => time() - 60,
         'endTime' => time(),
    ]
]);

This method will trigger an error if it is passed data that cannot be converted to the correct type. For example, a StringValue field must receive data that is either a string or a StringValue object.

  • param array $array An array containing message properties and values.
  • return null
protected mergeFromJsonArray( $array, $ignore_unknown)
protected readOneof( $number)
protected readWrapperValue( $member)
protected whichOneof( $oneof_name)
protected writeOneof( $number, $value)
protected writeWrapperValue( $member, $value)
Properties
private $desc = NULL
 
  • ignore
private $unknown = ''
Methods
private appendHelper( $field, $append_value)
private convertJsonValueToProtoValue( $value, $field, $ignore_unknown, $is_map_key = false)
private defaultValue( $field)
 
  • ignore
private existField( $field)
 
  • ignore
private fieldByteSize( $field)
 
  • ignore
private fieldDataOnlyByteSize( $field, $value)
 
  • ignore
private fieldDataOnlyJsonByteSize( $field, $value, $options = 0)
 
  • ignore
private fieldJsonByteSize( $field, $options = 0)
 
  • ignore
private initWithDescriptor(Google\Protobuf\Internal\Descriptor $desc)
 
  • ignore
private initWithGeneratedPool()
 
  • ignore
private kvUpdateHelper( $field, $update_key, $update_value)
private mergeFromArrayJsonImpl( $array, $ignore_unknown)
private static normalizeArrayElementsToMessageType( $value, $class)
 

Tries to normalize the elements in $value into a provided protobuf wrapper type $class. If $value is any type other than array, we do not do any conversion, and instead rely on the existing protobuf type checking. If $value is an array, we process each element and try to convert it to an instance of $class.

  • param mixed $value The array of values to normalize.
  • param string $class The expected wrapper class name
private static normalizeToMessageType( $value, $class)
 

Tries to normalize $value into a provided protobuf wrapper type $class.

If $value is any type other than an object, we attempt to construct an instance of $class and assign $value to it using the setValue method shared by all wrapper types.

This method will raise an error if it receives a type that cannot be assigned to the wrapper type via setValue.

  • param mixed $value The value to normalize.
  • param string $class The expected wrapper class name
private parseFieldFromStream( $tag, $input, $field)
 
  • ignore
private static parseFieldFromStreamNoTag( $input, $field, $value)
 
  • ignore
private repeatedFieldDataOnlyByteSize( $field)
 
  • ignore
private serializeFieldToJsonStream( $output, $field)
 
  • ignore
private serializeFieldToStream( $output, $field)
 
  • ignore
private serializeMapFieldToStream( $field, $output)
 
  • ignore
private serializeRepeatedFieldToStream( $field, $output)
 
  • ignore
private serializeSingularFieldToStream( $field, $output)
 
  • ignore
private skipField( $input, $tag)
 
  • ignore
Methods
private static normalizeArrayElementsToMessageType( $value, $class)
 

Tries to normalize the elements in $value into a provided protobuf wrapper type $class. If $value is any type other than array, we do not do any conversion, and instead rely on the existing protobuf type checking. If $value is an array, we process each element and try to convert it to an instance of $class.

  • param mixed $value The array of values to normalize.
  • param string $class The expected wrapper class name
private static normalizeToMessageType( $value, $class)
 

Tries to normalize $value into a provided protobuf wrapper type $class.

If $value is any type other than an object, we attempt to construct an instance of $class and assign $value to it using the setValue method shared by all wrapper types.

This method will raise an error if it receives a type that cannot be assigned to the wrapper type via setValue.

  • param mixed $value The value to normalize.
  • param string $class The expected wrapper class name
private static parseFieldFromStreamNoTag( $input, $field, $value)
 
  • ignore
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration