rfc:immutability
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:immutability [2017/03/22 16:12] – Tidied up the grammar and spelling and altered pronouns to be gender neutral geeh | rfc:immutability [2018/02/19 21:09] – marijic.silvio | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: Immutable classes and properties ====== | ====== PHP RFC: Immutable classes and properties ====== | ||
- | * Version: 0.1 | + | * Version: 0.2 |
- | * Date: 2016-08-12 | + | * Date: 2018-02-19 |
* Author: Michal Brzuchalski < | * Author: Michal Brzuchalski < | ||
* Author: Silvio Marijic < | * Author: Silvio Marijic < | ||
Line 22: | Line 22: | ||
**Cons** | **Cons** | ||
- | - (Please point it out more disadvantages) | + | - Currently arrays on immutable properties are not supported. |
Line 84: | Line 84: | ||
</ | </ | ||
- | Resources are not allowed to be assigned to immutable properties because of fact that resources, by nature, are not immutable. | + | Resources are not allowed to be assigned to immutable properties because of fact that resources by nature are not immutable. |
<code php> | <code php> | ||
class File { | class File { | ||
Line 95: | Line 95: | ||
$file = new File(fopen(' | $file = new File(fopen(' | ||
+ | </ | ||
+ | |||
+ | Arrays are not allowed to be assigned to immutable properties.. | ||
+ | <code php> | ||
+ | class A { | ||
+ | public immutable $x; | ||
+ | |||
+ | public function __construct ($x) { | ||
+ | $this->x = $x; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | $a = new A([' | ||
</ | </ | ||
Line 276: | Line 289: | ||
===== Proposed PHP Version(s) ===== | ===== Proposed PHP Version(s) ===== | ||
- | - PHP 7.2 | + | To be discussed. |
===== RFC Impact ===== | ===== RFC Impact ===== | ||
Line 307: | Line 320: | ||
===== Future Scope ===== | ===== Future Scope ===== | ||
+ | Add support for arrays on immutable properties. | ||
+ | Expand immutability to regular variables also. | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
Line 314: | Line 329: | ||
===== Patches and Tests ===== | ===== Patches and Tests ===== | ||
- | [[https:// | + | [[https:// |
rfc/immutability.txt · Last modified: 2018/02/20 11:19 by marijic.silvio