Copied!

Describes a field within a message.

Generated from protobuf message google.protobuf.FieldDescriptorProto

CloneableInstantiable
Methods
public __construct( $data = NULL)
 

Constructor.

  • param array $data { Optional. Data for populating the Message object.
    @type string $name
    @type int $number
    @type int $label
    @type int $type
          If type_name is set, this need not be set.  If both this and type_name
          are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
    @type string $type_name
          For message and enum types, this is the name of the type.  If the name
          starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
          rules are used to find the type (i.e. first the nested types within this
          message are searched, then within the parent, on up to the root
          namespace).
    @type string $extendee
          For extensions, this is the name of the type being extended.  It is
          resolved in the same manner as type_name.
    @type string $default_value
          For numeric types, contains the original text representation of the value.
          For booleans, "true" or "false".
          For strings, contains the default text contents (not escaped in any way).
          For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
    @type int $oneof_index
          If set, gives the index of a oneof in the containing type's oneof_decl
          list.  This field is a member of that oneof.
    @type string $json_name
          JSON name of this field. The value is set by protocol compiler. If the
          user has set a "json_name" option on this field, that option's value
          will be used. Otherwise, it's deduced from the field's name by converting
          it to camelCase.
    @type \Google\Protobuf\Internal\FieldOptions $options
    @type bool $proto3_optional
          If true, this is a proto3 "optional". When a proto3 field is optional, it
          tracks presence regardless of field type.
          When proto3_optional is true, this field must belong to a oneof to signal
          to old proto3 clients that presence is tracked for this field. This oneof
          is known as a "synthetic" oneof, and this field must be its sole member
          (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
          exist in the descriptor only, and do not generate any API. Synthetic oneofs
          must be ordered after all "real" oneofs.
          For message fields, proto3_optional doesn't create any semantic change,
          since non-repeated message fields always track presence. However it still
          indicates the semantic detail of whether the user wrote "optional" or not.
          This can be useful for round-tripping the .proto file. For consistency we
          give message fields a synthetic oneof also, even though it is not required
          to track presence. This is especially important because the parser can't
          tell if a field is a message or an enum, so it must always create a
          synthetic oneof.
          Proto2 optional fields do not set this flag, because they already indicate
          optional with `LABEL_OPTIONAL`.
    
    }
public Google\Protobuf\Internal\Message::__debugInfo()
public Google\Protobuf\Internal\Message::byteSize()
 
  • ignore
public Google\Protobuf\Internal\Message::clear()
 

Clear all containing fields.

  • return null
public clearDefaultValue()
public clearExtendee()
public clearJsonName()
public clearLabel()
public clearName()
public clearNumber()
public clearOneofIndex()
public clearOptions()
public clearProto3Optional()
public clearType()
public clearTypeName()
public Google\Protobuf\Internal\Message::discardUnknownFields()
 

Clear all unknown fields previously parsed.

  • return null
public getDefaultValue()
 

For numeric types, contains the original text representation of the value.

For booleans, "true" or "false". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes >= 128 are escaped.

Generated from protobuf field optional string default_value = 7;

  • return string
public getExtendee()
 

For extensions, this is the name of the type being extended. It is resolved in the same manner as type_name.

Generated from protobuf field optional string extendee = 2;

  • return string
public getJsonName()
 

JSON name of this field. The value is set by protocol compiler. If the user has set a "json_name" option on this field, that option's value will be used. Otherwise, it's deduced from the field's name by converting it to camelCase.

Generated from protobuf field optional string json_name = 10;

  • return string
public getLabel()
 

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Label label = 4;

  • return int
public getName()
 

Generated from protobuf field optional string name = 1;

  • return string
public getNumber()
 

Generated from protobuf field optional int32 number = 3;

  • return int
public getOneofIndex()
 

If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof.

Generated from protobuf field optional int32 oneof_index = 9;

  • return int
public getOptions()
 

Generated from protobuf field optional .google.protobuf.FieldOptions options = 8;

  • return \Google\Protobuf\Internal\FieldOptions|null
public getProto3Optional()
 

If true, this is a proto3 "optional". When a proto3 field is optional, it tracks presence regardless of field type.

When proto3_optional is true, this field must belong to a oneof to signal to old proto3 clients that presence is tracked for this field. This oneof is known as a "synthetic" oneof, and this field must be its sole member (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs exist in the descriptor only, and do not generate any API. Synthetic oneofs must be ordered after all "real" oneofs. For message fields, proto3_optional doesn't create any semantic change, since non-repeated message fields always track presence. However it still indicates the semantic detail of whether the user wrote "optional" or not. This can be useful for round-tripping the .proto file. For consistency we give message fields a synthetic oneof also, even though it is not required to track presence. This is especially important because the parser can't tell if a field is a message or an enum, so it must always create a synthetic oneof. Proto2 optional fields do not set this flag, because they already indicate optional with LABEL_OPTIONAL.

Generated from protobuf field optional bool proto3_optional = 17;

  • return bool
public getType()
 

If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Type type = 5;

  • return int
public getTypeName()
 

For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).

Generated from protobuf field optional string type_name = 6;

  • return string
public hasDefaultValue()
public hasExtendee()
public hasJsonName()
public hasLabel()
public hasName()
public hasNumber()
public hasOneofIndex()
public hasOptions()
public hasProto3Optional()
public hasType()
public hasTypeName()
public Google\Protobuf\Internal\Message::jsonByteSize( $options = 0)
 
  • ignore
public Google\Protobuf\Internal\Message::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 Google\Protobuf\Internal\Message::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 Google\Protobuf\Internal\Message::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 Google\Protobuf\Internal\Message::parseFromJsonStream( $input, $ignore_unknown)
 
  • ignore
public Google\Protobuf\Internal\Message::parseFromStream( $input)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToJsonString( $options = 0)
 

Serialize the message to json string.

  • return string Serialized json protobuf data.
public Google\Protobuf\Internal\Message::serializeToStream( $output)
 
  • ignore
public Google\Protobuf\Internal\Message::serializeToString()
 

Serialize the message to string.

  • return string Serialized binary protobuf data.
public setDefaultValue( $var)
 

For numeric types, contains the original text representation of the value.

For booleans, "true" or "false". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes >= 128 are escaped.

Generated from protobuf field optional string default_value = 7;

  • param string $var
  • return $this
public setExtendee( $var)
 

For extensions, this is the name of the type being extended. It is resolved in the same manner as type_name.

Generated from protobuf field optional string extendee = 2;

  • param string $var
  • return $this
public setJsonName( $var)
 

JSON name of this field. The value is set by protocol compiler. If the user has set a "json_name" option on this field, that option's value will be used. Otherwise, it's deduced from the field's name by converting it to camelCase.

Generated from protobuf field optional string json_name = 10;

  • param string $var
  • return $this
public setLabel( $var)
 

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Label label = 4;

  • param int $var
  • return $this
public setName( $var)
 

Generated from protobuf field optional string name = 1;

  • param string $var
  • return $this
public setNumber( $var)
 

Generated from protobuf field optional int32 number = 3;

  • param int $var
  • return $this
public setOneofIndex( $var)
 

If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof.

Generated from protobuf field optional int32 oneof_index = 9;

  • param int $var
  • return $this
public setOptions( $var)
 

Generated from protobuf field optional .google.protobuf.FieldOptions options = 8;

  • param \Google\Protobuf\Internal\FieldOptions $var
  • return $this
public setProto3Optional( $var)
 

If true, this is a proto3 "optional". When a proto3 field is optional, it tracks presence regardless of field type.

When proto3_optional is true, this field must belong to a oneof to signal to old proto3 clients that presence is tracked for this field. This oneof is known as a "synthetic" oneof, and this field must be its sole member (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs exist in the descriptor only, and do not generate any API. Synthetic oneofs must be ordered after all "real" oneofs. For message fields, proto3_optional doesn't create any semantic change, since non-repeated message fields always track presence. However it still indicates the semantic detail of whether the user wrote "optional" or not. This can be useful for round-tripping the .proto file. For consistency we give message fields a synthetic oneof also, even though it is not required to track presence. This is especially important because the parser can't tell if a field is a message or an enum, so it must always create a synthetic oneof. Proto2 optional fields do not set this flag, because they already indicate optional with LABEL_OPTIONAL.

Generated from protobuf field optional bool proto3_optional = 17;

  • param bool $var
  • return $this
public setType( $var)
 

If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Type type = 5;

  • param int $var
  • return $this
public setTypeName( $var)
 

For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).

Generated from protobuf field optional string type_name = 6;

  • param string $var
  • return $this
Properties
protected $default_value = NULL
 

For numeric types, contains the original text representation of the value.

For booleans, "true" or "false". For strings, contains the default text contents (not escaped in any way). For bytes, contains the C escaped value. All bytes >= 128 are escaped.

Generated from protobuf field optional string default_value = 7;

protected $extendee = NULL
 

For extensions, this is the name of the type being extended. It is resolved in the same manner as type_name.

Generated from protobuf field optional string extendee = 2;

protected $json_name = NULL
 

JSON name of this field. The value is set by protocol compiler. If the user has set a "json_name" option on this field, that option's value will be used. Otherwise, it's deduced from the field's name by converting it to camelCase.

Generated from protobuf field optional string json_name = 10;

protected $label = NULL
 

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Label label = 4;

protected $name = NULL
 

Generated from protobuf field optional string name = 1;

protected $number = NULL
 

Generated from protobuf field optional int32 number = 3;

protected $oneof_index = NULL
 

If set, gives the index of a oneof in the containing type's oneof_decl list. This field is a member of that oneof.

Generated from protobuf field optional int32 oneof_index = 9;

protected $options = NULL
 

Generated from protobuf field optional .google.protobuf.FieldOptions options = 8;

protected $proto3_optional = NULL
 

If true, this is a proto3 "optional". When a proto3 field is optional, it tracks presence regardless of field type.

When proto3_optional is true, this field must belong to a oneof to signal to old proto3 clients that presence is tracked for this field. This oneof is known as a "synthetic" oneof, and this field must be its sole member (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs exist in the descriptor only, and do not generate any API. Synthetic oneofs must be ordered after all "real" oneofs. For message fields, proto3_optional doesn't create any semantic change, since non-repeated message fields always track presence. However it still indicates the semantic detail of whether the user wrote "optional" or not. This can be useful for round-tripping the .proto file. For consistency we give message fields a synthetic oneof also, even though it is not required to track presence. This is especially important because the parser can't tell if a field is a message or an enum, so it must always create a synthetic oneof. Proto2 optional fields do not set this flag, because they already indicate optional with LABEL_OPTIONAL.

Generated from protobuf field optional bool proto3_optional = 17;

protected $type = NULL
 

If type_name is set, this need not be set. If both this and type_name are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.

Generated from protobuf field optional .google.protobuf.FieldDescriptorProto.Type type = 5;

protected $type_name = NULL
 

For message and enum types, this is the name of the type. If the name starts with a '.', it is fully-qualified. Otherwise, C++-like scoping rules are used to find the type (i.e. first the nested types within this message are searched, then within the parent, on up to the root namespace).

Generated from protobuf field optional string type_name = 6;

Methods
protected Google\Protobuf\Internal\Message::hasOneof( $number)
protected Google\Protobuf\Internal\Message::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 Google\Protobuf\Internal\Message::mergeFromJsonArray( $array, $ignore_unknown)
protected Google\Protobuf\Internal\Message::readOneof( $number)
protected Google\Protobuf\Internal\Message::readWrapperValue( $member)
protected Google\Protobuf\Internal\Message::whichOneof( $oneof_name)
protected Google\Protobuf\Internal\Message::writeOneof( $number, $value)
protected Google\Protobuf\Internal\Message::writeWrapperValue( $member, $value)
© 2025 Bruce Wells
Search Namespaces \ Classes
Configuration