rfc:inheritance_private_methods
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:inheritance_private_methods [2020/04/17 15:44] – pmmaga | rfc:inheritance_private_methods [2020/07/17 14:59] (current) – pmmaga | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2020-04-16 | * Date: 2020-04-16 | ||
* Author: Pedro Magalhães, pmmaga@php.net | * Author: Pedro Magalhães, pmmaga@php.net | ||
- | * Status: | + | * Status: |
+ | * Target: 8.0 | ||
* First Published at: http:// | * First Published at: http:// | ||
Line 94: | Line 95: | ||
< | < | ||
+ | Warning: Private methods cannot be final as they are never overridden by other classes in ... | ||
A:: | A:: | ||
A:: | A:: | ||
Line 100: | Line 102: | ||
</ | </ | ||
- | The final keyword when applied to a private method should have no significance. | + | The final keyword when applied to a private method should have no significance. In most cases, a correct approach is to use '' |
- | **Open issue**: Applying final to a private | + | **NOTE:** Due to how common the usage of ''< |
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
- | There are no BC breaking changes. | + | The new compiler warning: |
- | NOTE: The construction '' | + | < |
- | A correct approach to attain a similar effect would be '' | + | Warning: Private methods cannot be final as they are never overridden by other classes |
+ | </ | ||
- | If the optional compiler | + | Will start appearing in some code bases where both modifiers '' |
===== Proposed PHP Version(s) ===== | ===== Proposed PHP Version(s) ===== | ||
PHP 8.0 | PHP 8.0 | ||
- | |||
- | ===== Open Issues ===== | ||
- | |||
- | * Producing a compiler warning when '' | ||
===== Unaffected PHP Functionality ===== | ===== Unaffected PHP Functionality ===== | ||
Line 125: | Line 124: | ||
The inheritance rules for visible methods remains unaffected, including when these are static or declared on a trait. | The inheritance rules for visible methods remains unaffected, including when these are static or declared on a trait. | ||
- | ===== Proposed Voting Choices | + | ===== Vote ===== |
+ | |||
+ | Voting started 2020-06-15 and ends 2020-06-29. | ||
- | 2/3 majority | + | <doodle title=" |
+ | * Yes | ||
+ | * No | ||
+ | </doodle> | ||
===== Patches and Tests ===== | ===== Patches and Tests ===== |
rfc/inheritance_private_methods.1587138296.txt.gz · Last modified: 2020/04/17 15:44 by pmmaga