rfc:undefined_variable_error_promotion
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:undefined_variable_error_promotion [2022/02/23 23:00] – marandall | rfc:undefined_variable_error_promotion [2022/03/28 17:52] (current) – marandall | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2022-02-17 | * Date: 2022-02-17 | ||
* Author: Mark Randall marandall@php.net | * Author: Mark Randall marandall@php.net | ||
- | * Status: | + | * Status: |
* Target: PHP 9.0 | * Target: PHP 9.0 | ||
* First Published at: https:// | * First Published at: https:// | ||
Line 10: | Line 10: | ||
Undefined variables are those that have not yet been initialised with a value prior to being read. Accessing an undefined variable currently emits an E_WARNING " | Undefined variables are those that have not yet been initialised with a value prior to being read. Accessing an undefined variable currently emits an E_WARNING " | ||
- | Although a custom error handler can already be used to raise an Error exception, this requires additional userland code to configure, when instead we should be aiming to provide a safer experience by default. The need to support calling a custom error handler does itself also introduce additional complexity into the engine, leading | + | Although a custom error handler can already be used to raise an Error exception, this requires additional userland code to configure, when instead we should be aiming to provide a safer experience by default. The need to support calling a custom error handler does itself also introduce additional complexity into the engine, leading |
+ | |||
+ | **RFC History / Previous Votes** | ||
This change was last discussed during the Engine Warnings RFC (https:// | This change was last discussed during the Engine Warnings RFC (https:// | ||
Line 124: | Line 126: | ||
Although the target version is mandated by our traditional breaking changes policy, it is also the intent of this RFC to give multiple years of notice that this change will be coming, affording the greatest opportunity for developers to modify their code in anticipation of this change. | Although the target version is mandated by our traditional breaking changes policy, it is also the intent of this RFC to give multiple years of notice that this change will be coming, affording the greatest opportunity for developers to modify their code in anticipation of this change. | ||
- | A minor change | + | A minor change |
+ | |||
+ | |||
+ | ===== Unaffected Functionality ===== | ||
+ | If the code does not currently emit a " | ||
+ | |||
+ | ===== Vote ===== | ||
+ | Vote opened 2022-03-14, vote closes 2022-03-28 | ||
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
+ | |||
+ | Meta vote for reasoning of voting against: | ||
- | ===== Proposed Voting Choices ===== | + | <doodle title="Main reason for voting against if you did?" auth=" |
- | Yes / No to promote to Error. | + | * Using undefined variables is a legitimate coding style |
+ | * Backwards compatibility breaks | ||
+ | * Would be in favour, but not in 9.0 | ||
+ | * Something else | ||
+ | </doodle> | ||
===== References ===== | ===== References ===== |
rfc/undefined_variable_error_promotion.1645657243.txt.gz · Last modified: 2022/02/23 23:00 by marandall