d887a0d941
This PR was merged into the 4.4 branch.
Discussion
----------
[ErrorHandler] make DebugClassLoader able to add return type declarations
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #33236
| License | MIT
| Doc PR | -
This is the current state of the patching logic I'm using in `DebugClassLoader`.
I run it after a `composer i -o` with the excluded classes emptied.
It's not perfect, it requires manual changes/review, but it did the job so far.
Patching is enabled with the `SYMFONY_PATCH_TYPE_DECLARATIONS` env var.
The value of the env var is an URL-encoded array, with the following parameters as of now:
- `force=0/1/docblock`:
- `0` adds return types only to non-BC breaking places: internal/final/test methods;
- `1` adds return types everywhere possible, potentially breaking BC with child classes that didn't declare the return types before;
- `docblock` adds `@return` annotations to opt-out from deprecation notices that `DebugClassLoader` trigger otherwise - the annotation meaning: "I know a return type should be used here instead of an annotation, but I can't add it for BC reasons for now".
- `php71-compat=0/1`: to prevent using the `object` type when the code must be compatible with PHP 7.1
Commits
-------
|
||
---|---|---|
.. | ||
Symfony |