Copied!

Generated from protobuf message google.protobuf.FieldOptions

CloneableInstantiable
Methods
public __construct( $data = NULL)
 

Constructor.

  • param array $data { Optional. Data for populating the Message object.
    @type int $ctype
          NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
          The ctype option instructs the C++ code generator to use a different
          representation of the field than it normally would.  See the specific
          options below.  This option is only implemented to support use of
          [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
          type "bytes" in the open source release.
          TODO: make ctype actually deprecated.
    @type bool $packed
          The packed option can be enabled for repeated primitive fields to enable
          a more efficient representation on the wire. Rather than repeatedly
          writing the tag and type for each element, the entire array is encoded as
          a single length-delimited blob. In proto3, only explicit setting it to
          false will avoid using packed encoding.  This option is prohibited in
          Editions, but the `repeated_field_encoding` feature can be used to control
          the behavior.
    @type int $jstype
          The jstype option determines the JavaScript type used for values of the
          field.  The option is permitted only for 64 bit integral and fixed types
          (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
          is represented as JavaScript string, which avoids loss of precision that
          can happen when a large value is converted to a floating point JavaScript.
          Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
          use the JavaScript "number" type.  The behavior of the default option
          JS_NORMAL is implementation dependent.
          This option is an enum to permit additional types to be added, e.g.
          goog.math.Integer.
    @type bool $lazy
          Should this field be parsed lazily?  Lazy applies only to message-type
          fields.  It means that when the outer message is initially parsed, the
          inner message's contents will not be parsed but instead stored in encoded
          form.  The inner message will actually be parsed when it is first accessed.
          This is only a hint.  Implementations are free to choose whether to use
          eager or lazy parsing regardless of the value of this option.  However,
          setting this option true suggests that the protocol author believes that
          using lazy parsing on this field is worth the additional bookkeeping
          overhead typically needed to implement it.
          This option does not affect the public interface of any generated code;
          all method signatures remain the same.  Furthermore, thread-safety of the
          interface is not affected by this option; const methods remain safe to
          call from multiple threads concurrently, while non-const methods continue
          to require exclusive access.
          Note that lazy message fields are still eagerly verified to check
          ill-formed wireformat or missing required fields. Calling IsInitialized()
          on the outer message would fail if the inner message has missing required
          fields. Failed verification would result in parsing failure (except when
          uninitialized messages are acceptable).
    @type bool $unverified_lazy
          unverified_lazy does no correctness checks on the byte stream. This should
          only be used where lazy with verification is prohibitive for performance
          reasons.
    @type bool $deprecated
          Is this field deprecated?
          Depending on the target platform, this can emit Deprecated annotations
          for accessors, or it will be completely ignored; in the very least, this
          is a formalization for deprecating fields.
    @type bool $weak
          DEPRECATED. DO NOT USE!
          For Google-internal migration only. Do not use.
    @type bool $debug_redact
          Indicate that the field value should not be printed out when using debug
          formats, e.g. when the field contains sensitive credentials.
    @type int $retention
    @type int[] $targets
    @type \Google\Protobuf\Internal\FieldOptions\EditionDefault[] $edition_defaults
    @type \Google\Protobuf\Internal\FeatureSet $features
          Any features defined in the specific edition.
          WARNING: This field should only be used by protobuf plugins or special
          cases like the proto compiler. Other uses are discouraged and
          developers should rely on the protoreflect APIs for their client language.
    @type \Google\Protobuf\Internal\FieldOptions\FeatureSupport $feature_support
    @type \Google\Protobuf\Internal\UninterpretedOption[] $uninterpreted_option
          The parser stores options it doesn't recognize here. See above.
    
    }
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 clearCtype()
public clearDebugRedact()
public clearDeprecated()
public clearFeatures()
public clearFeatureSupport()
public clearJstype()
public clearLazy()
public clearPacked()
public clearRetention()
public clearUnverifiedLazy()
public clearWeak()
public Google\Protobuf\Internal\Message::discardUnknownFields()
 

Clear all unknown fields previously parsed.

  • return null
public getCtype()
 

NOTE: ctype is deprecated. Use features.(pb.cpp).string_type instead.

The ctype option instructs the C++ code generator to use a different representation of the field than it normally would. See the specific options below. This option is only implemented to support use of [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of type "bytes" in the open source release. TODO: make ctype actually deprecated.

Generated from protobuf field optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];

  • return int one of the values in {@see \Google\Protobuf\Internal\FieldOptions\CType}
public getDebugRedact()
 

Indicate that the field value should not be printed out when using debug formats, e.g. when the field contains sensitive credentials.

Generated from protobuf field optional bool debug_redact = 16 [default = false];

  • return bool
public getDeprecated()
 

Is this field deprecated? Depending on the target platform, this can emit Deprecated annotations for accessors, or it will be completely ignored; in the very least, this is a formalization for deprecating fields.

Generated from protobuf field optional bool deprecated = 3 [default = false];

  • return bool
public getEditionDefaults()
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;

  • return \RepeatedField<\Google\Protobuf\Internal\FieldOptions\EditionDefault>
public getFeatures()
 

Any features defined in the specific edition.

WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.

Generated from protobuf field optional .google.protobuf.FeatureSet features = 21;

  • return \Google\Protobuf\Internal\FeatureSet|null
public getFeatureSupport()
 

Generated from protobuf field optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;

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

The jstype option determines the JavaScript type used for values of the field. The option is permitted only for 64 bit integral and fixed types (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING is represented as JavaScript string, which avoids loss of precision that can happen when a large value is converted to a floating point JavaScript.

Specifying JS_NUMBER for the jstype causes the generated JavaScript code to use the JavaScript "number" type. The behavior of the default option JS_NORMAL is implementation dependent. This option is an enum to permit additional types to be added, e.g. goog.math.Integer.

Generated from protobuf field optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];

  • return int one of the values in {@see \Google\Protobuf\Internal\FieldOptions\JSType}
public getLazy()
 

Should this field be parsed lazily? Lazy applies only to message-type fields. It means that when the outer message is initially parsed, the inner message's contents will not be parsed but instead stored in encoded form. The inner message will actually be parsed when it is first accessed.

This is only a hint. Implementations are free to choose whether to use eager or lazy parsing regardless of the value of this option. However, setting this option true suggests that the protocol author believes that using lazy parsing on this field is worth the additional bookkeeping overhead typically needed to implement it. This option does not affect the public interface of any generated code; all method signatures remain the same. Furthermore, thread-safety of the interface is not affected by this option; const methods remain safe to call from multiple threads concurrently, while non-const methods continue to require exclusive access. Note that lazy message fields are still eagerly verified to check ill-formed wireformat or missing required fields. Calling IsInitialized() on the outer message would fail if the inner message has missing required fields. Failed verification would result in parsing failure (except when uninitialized messages are acceptable).

Generated from protobuf field optional bool lazy = 5 [default = false];

  • return bool
public getPacked()
 

The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire. Rather than repeatedly writing the tag and type for each element, the entire array is encoded as a single length-delimited blob. In proto3, only explicit setting it to false will avoid using packed encoding. This option is prohibited in Editions, but the repeated_field_encoding feature can be used to control the behavior.

Generated from protobuf field optional bool packed = 2;

  • return bool
public getRetention()
 

Generated from protobuf field optional .google.protobuf.FieldOptions.OptionRetention retention = 17;

  • return int one of the values in {@see \Google\Protobuf\Internal\FieldOptions\OptionRetention}
public getTargets()
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;

  • return \RepeatedField<int> one of the values in {@see \Google\Protobuf\Internal\FieldOptions\OptionTargetType}
public getUninterpretedOption()
 

The parser stores options it doesn't recognize here. See above.

Generated from protobuf field repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;

  • return \RepeatedField<\Google\Protobuf\Internal\UninterpretedOption>
public getUnverifiedLazy()
 

unverified_lazy does no correctness checks on the byte stream. This should only be used where lazy with verification is prohibitive for performance reasons.

Generated from protobuf field optional bool unverified_lazy = 15 [default = false];

  • return bool
public getWeak()
 

DEPRECATED. DO NOT USE! For Google-internal migration only. Do not use.

Generated from protobuf field optional bool weak = 10 [default = false, deprecated = true];

  • return bool
  • deprecated
public hasCtype()
public hasDebugRedact()
public hasDeprecated()
public hasFeatures()
public hasFeatureSupport()
public hasJstype()
public hasLazy()
public hasPacked()
public hasRetention()
public hasUnverifiedLazy()
public hasWeak()
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 setCtype(int $var)
 

NOTE: ctype is deprecated. Use features.(pb.cpp).string_type instead.

The ctype option instructs the C++ code generator to use a different representation of the field than it normally would. See the specific options below. This option is only implemented to support use of [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of type "bytes" in the open source release. TODO: make ctype actually deprecated.

Generated from protobuf field optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];

  • param int $var one of the values in {@see \Google\Protobuf\Internal\FieldOptions\CType}
  • return $this
public setDebugRedact(bool $var)
 

Indicate that the field value should not be printed out when using debug formats, e.g. when the field contains sensitive credentials.

Generated from protobuf field optional bool debug_redact = 16 [default = false];

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

Is this field deprecated? Depending on the target platform, this can emit Deprecated annotations for accessors, or it will be completely ignored; in the very least, this is a formalization for deprecating fields.

Generated from protobuf field optional bool deprecated = 3 [default = false];

  • param bool $var
  • return $this
public setEditionDefaults(Google\Protobuf\RepeatedField|array $var)
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;

  • param \Google\Protobuf\Internal\FieldOptions\EditionDefault[] $var
  • return $this
public setFeatures(?Google\Protobuf\Internal\FeatureSet $var)
 

Any features defined in the specific edition.

WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.

Generated from protobuf field optional .google.protobuf.FeatureSet features = 21;

  • param \Google\Protobuf\Internal\FeatureSet $var
  • return $this
public setFeatureSupport(?Google\Protobuf\Internal\FieldOptions\FeatureSupport $var)
 

Generated from protobuf field optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;

  • param \Google\Protobuf\Internal\FieldOptions\FeatureSupport $var
  • return $this
public setJstype(int $var)
 

The jstype option determines the JavaScript type used for values of the field. The option is permitted only for 64 bit integral and fixed types (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING is represented as JavaScript string, which avoids loss of precision that can happen when a large value is converted to a floating point JavaScript.

Specifying JS_NUMBER for the jstype causes the generated JavaScript code to use the JavaScript "number" type. The behavior of the default option JS_NORMAL is implementation dependent. This option is an enum to permit additional types to be added, e.g. goog.math.Integer.

Generated from protobuf field optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];

  • param int $var one of the values in {@see \Google\Protobuf\Internal\FieldOptions\JSType}
  • return $this
public setLazy(bool $var)
 

Should this field be parsed lazily? Lazy applies only to message-type fields. It means that when the outer message is initially parsed, the inner message's contents will not be parsed but instead stored in encoded form. The inner message will actually be parsed when it is first accessed.

This is only a hint. Implementations are free to choose whether to use eager or lazy parsing regardless of the value of this option. However, setting this option true suggests that the protocol author believes that using lazy parsing on this field is worth the additional bookkeeping overhead typically needed to implement it. This option does not affect the public interface of any generated code; all method signatures remain the same. Furthermore, thread-safety of the interface is not affected by this option; const methods remain safe to call from multiple threads concurrently, while non-const methods continue to require exclusive access. Note that lazy message fields are still eagerly verified to check ill-formed wireformat or missing required fields. Calling IsInitialized() on the outer message would fail if the inner message has missing required fields. Failed verification would result in parsing failure (except when uninitialized messages are acceptable).

Generated from protobuf field optional bool lazy = 5 [default = false];

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

The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire. Rather than repeatedly writing the tag and type for each element, the entire array is encoded as a single length-delimited blob. In proto3, only explicit setting it to false will avoid using packed encoding. This option is prohibited in Editions, but the repeated_field_encoding feature can be used to control the behavior.

Generated from protobuf field optional bool packed = 2;

  • param bool $var
  • return $this
public setRetention(int $var)
 

Generated from protobuf field optional .google.protobuf.FieldOptions.OptionRetention retention = 17;

  • param int $var one of the values in {@see \Google\Protobuf\Internal\FieldOptions\OptionRetention}
  • return $this
public setTargets(Google\Protobuf\RepeatedField|array $var)
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;

  • param int[] $var one of the values in {@see \Google\Protobuf\Internal\FieldOptions\OptionTargetType}
  • return $this
public setUninterpretedOption(Google\Protobuf\RepeatedField|array $var)
 

The parser stores options it doesn't recognize here. See above.

Generated from protobuf field repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;

  • param \Google\Protobuf\Internal\UninterpretedOption[] $var
  • return $this
public setUnverifiedLazy(bool $var)
 

unverified_lazy does no correctness checks on the byte stream. This should only be used where lazy with verification is prohibitive for performance reasons.

Generated from protobuf field optional bool unverified_lazy = 15 [default = false];

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

DEPRECATED. DO NOT USE! For Google-internal migration only. Do not use.

Generated from protobuf field optional bool weak = 10 [default = false, deprecated = true];

  • param bool $var
  • return $this
  • deprecated
Properties
protected $ctype = NULL
 

NOTE: ctype is deprecated. Use features.(pb.cpp).string_type instead.

The ctype option instructs the C++ code generator to use a different representation of the field than it normally would. See the specific options below. This option is only implemented to support use of [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of type "bytes" in the open source release. TODO: make ctype actually deprecated.

Generated from protobuf field optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];

protected $debug_redact = NULL
 

Indicate that the field value should not be printed out when using debug formats, e.g. when the field contains sensitive credentials.

Generated from protobuf field optional bool debug_redact = 16 [default = false];

protected $deprecated = NULL
 

Is this field deprecated? Depending on the target platform, this can emit Deprecated annotations for accessors, or it will be completely ignored; in the very least, this is a formalization for deprecating fields.

Generated from protobuf field optional bool deprecated = 3 [default = false];

protected $feature_support = NULL
 

Generated from protobuf field optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;

protected $features = NULL
 

Any features defined in the specific edition.

WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.

Generated from protobuf field optional .google.protobuf.FeatureSet features = 21;

protected $jstype = NULL
 

The jstype option determines the JavaScript type used for values of the field. The option is permitted only for 64 bit integral and fixed types (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING is represented as JavaScript string, which avoids loss of precision that can happen when a large value is converted to a floating point JavaScript.

Specifying JS_NUMBER for the jstype causes the generated JavaScript code to use the JavaScript "number" type. The behavior of the default option JS_NORMAL is implementation dependent. This option is an enum to permit additional types to be added, e.g. goog.math.Integer.

Generated from protobuf field optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];

protected $lazy = NULL
 

Should this field be parsed lazily? Lazy applies only to message-type fields. It means that when the outer message is initially parsed, the inner message's contents will not be parsed but instead stored in encoded form. The inner message will actually be parsed when it is first accessed.

This is only a hint. Implementations are free to choose whether to use eager or lazy parsing regardless of the value of this option. However, setting this option true suggests that the protocol author believes that using lazy parsing on this field is worth the additional bookkeeping overhead typically needed to implement it. This option does not affect the public interface of any generated code; all method signatures remain the same. Furthermore, thread-safety of the interface is not affected by this option; const methods remain safe to call from multiple threads concurrently, while non-const methods continue to require exclusive access. Note that lazy message fields are still eagerly verified to check ill-formed wireformat or missing required fields. Calling IsInitialized() on the outer message would fail if the inner message has missing required fields. Failed verification would result in parsing failure (except when uninitialized messages are acceptable).

Generated from protobuf field optional bool lazy = 5 [default = false];

protected $packed = NULL
 

The packed option can be enabled for repeated primitive fields to enable a more efficient representation on the wire. Rather than repeatedly writing the tag and type for each element, the entire array is encoded as a single length-delimited blob. In proto3, only explicit setting it to false will avoid using packed encoding. This option is prohibited in Editions, but the repeated_field_encoding feature can be used to control the behavior.

Generated from protobuf field optional bool packed = 2;

protected $retention = NULL
 

Generated from protobuf field optional .google.protobuf.FieldOptions.OptionRetention retention = 17;

protected $unverified_lazy = NULL
 

unverified_lazy does no correctness checks on the byte stream. This should only be used where lazy with verification is prohibitive for performance reasons.

Generated from protobuf field optional bool unverified_lazy = 15 [default = false];

protected $weak = NULL
 

DEPRECATED. DO NOT USE! For Google-internal migration only. Do not use.

Generated from protobuf field optional bool weak = 10 [default = false, deprecated = true];

  • deprecated
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)
Properties
private $edition_defaults = NULL
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;

private $targets = NULL
 

Generated from protobuf field repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;

private $uninterpreted_option = NULL
 

The parser stores options it doesn't recognize here. See above.

Generated from protobuf field repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;

© 2026 Bruce Wells
Search Namespaces \ Classes
Configuration