I really like the concept of immutability, but I think that it should be
applicable at  instance level rather than declaration.

I would also prefer another keyword than immutable.

Final does not make the properties immutable, it makes the class not
extensible.
On Nov 16, 2015 10:24, "Daniel Persson" <mailto.wo...@gmail.com> wrote:

> Any differance from the final keyword?
>
> http://php.net/manual/en/language.oop5.final.php
>
> On Mon, Nov 16, 2015 at 10:15 AM, Chris Riley <t.carn...@gmail.com> wrote:
>
> > Hi,
> >
> > There has been a lot of interest recently (eg psr-7) in immutable data.
> I'm
> > considering putting an RFC together to add language support for
> immutables:
> >
> > immutable class Foo {
> > public $bar;
> > public function __construct($bar) {
> > $this->bar = $bar;
> > }
> > }
> >
> > Immutable on a class declaration makes all (maybe only public?)
> properties
> > of the class immutable after construct; assigning to a property would
> > result in a Fatal error.
> >
> > class Foo {
> > public $bar;
> > immutable public $baz;
> > }
> >
> > Immutable on a property makes the property immutable once it takes on a
> > none null value. Attempts to modify the property after this results in a
> > fatal error.
> >
> > Any thoughts?
> > ~C
> >
>

Reply via email to