rfc:conditional_break_continue_return
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:conditional_break_continue_return [2020/05/16 19:19] – ralphschindler | rfc:conditional_break_continue_return [2022/04/17 18:38] (current) – Move to inactive ilutov | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== PHP RFC: Your Title Here ====== | + | ====== PHP RFC: Conditional Return, Break, and Continue Statements |
- | * Version: | + | * Version: |
- | * Date: 2013-02-24 (use today' | + | * Date: 2020-05-16 |
* Author: Ralph Schindler, ralphschindler@php.net | * Author: Ralph Schindler, ralphschindler@php.net | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | |||
+ | Most generally, this is a syntactical change that (IMO, of course) allows for a terser and more expressive way to achieve conditional returns (along with breaks and continues). | ||
This proposal is a syntatical addition that allows `break`, `continue` and `return` to be conditionally qualified. Two variations are possible (depending on which, if either are desirable to have.) | This proposal is a syntatical addition that allows `break`, `continue` and `return` to be conditionally qualified. Two variations are possible (depending on which, if either are desirable to have.) | ||
Line 48: | Line 50: | ||
It is also worth mentioning that Ruby has similar features (called a modifier), and I believe they are heavily utilized.. [[https:// | It is also worth mentioning that Ruby has similar features (called a modifier), and I believe they are heavily utilized.. [[https:// | ||
+ | |||
+ | (While the text of this applies most arguments to `return`, at current the same arguments apply for break and continue, and are included in this proposal.) | ||
==== Variation #1 ==== | ==== Variation #1 ==== | ||
Line 80: | Line 84: | ||
Con: | Con: | ||
- Large optional return values will create more space between the `return` and `if` keywords, potentially making it harder for (humans) to scan for the conditional qualifier. | - Large optional return values will create more space between the `return` and `if` keywords, potentially making it harder for (humans) to scan for the conditional qualifier. | ||
+ | |||
+ | ==== A visual argument between the two variations ==== | ||
+ | |||
+ | (Click to view full) | ||
+ | |||
+ | {{: | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
- | No BC issues. | + | No BC issues: there are no new keywords, nor does not impact any existing code. |
+ | |||
+ | This syntactical change is reusing existing keywords. | ||
===== Proposed PHP Version(s) ===== | ===== Proposed PHP Version(s) ===== | ||
Line 109: | Line 121: | ||
The recently contributed [[rfc: | The recently contributed [[rfc: | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
rfc/conditional_break_continue_return.1589656789.txt.gz · Last modified: 2020/05/16 19:19 by ralphschindler