Commit aee03b7
feat(php): Add PHP typehints for setters and remove redundant GPBUtil checks (#25296)
This PR modifies `php_generator.cc` to:
- Add PHP typehints to setter method signatures for all types (for 64-bit integers, the type hint is `int|string` to maintain compatibility with 32-bit systems)
- Remove redundant `GPBUtil::check...` for primitive types and messages (the PHP type hint provides sufficient validation)
- Retain `GPBUtil::check...` for 32 and 64-bit integers, strings (for UTF-8 validation), enums, maps, and repeated fields
Additionally makes the following changes:
- Updates descriptor protos with generator changes
- Suppresses float to int "loss of precision" warnings in tests which expect it
- Removes compatibility in tests with PHPUnit 6, which is no longer needed
- Proper casing in gencode for `true` and `false` (instead of `True` and `False`)
Closes #25296
PiperOrigin-RevId: 8569909121 parent 5687acc commit aee03b7
File tree
66 files changed
+531
-555
lines changed- php
- src/Google/Protobuf
- Internal
- DescriptorProto
- EnumDescriptorProto
- ExtensionRangeOptions
- FeatureSetDefaults
- FieldOptions
- GeneratedCodeInfo
- SourceCodeInfo
- UninterpretedOption
- tests
- src/google/protobuf/compiler/php
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
66 files changed
+531
-555
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments