Hi Silvio, I like the RFC.
* * * I would like to see arrays allowed as immutable properties. In <http://paul-m-jones.com/archives/6400> I wrote that arrays are "probably not practical in most situations" because you have to "recursively scan through array properties to make sure that they contain only immutable values". However, I think if the scanning happens at the C level it is not such a burden. John Boehr implemented it for the immutable ServerRequest object in ext-request <http://pecl.php.net/package/request> and it has worked well. If you do allow arrays, they would have to follow the same rules as the immutable object. Alternatively, perhaps an ImmutableArrayObject would be a good addition or followup to the RFC. * * * Some further points to harden the implementation: - I see that resources and references are disallowed (which is good). If you have not already done so, you may wish to disallow streams as well. - You might want to disable setting of undefined public properties, so that you cannot "add" mutable public properties to the immutable object. - Disable the constructor after it has been called, so the object cannot be "re-constructed" in place. * * * That's all I can think of for now. Thanks for putting this together. -- Paul M. Jones pmjo...@pmjones.io http://paul-m-jones.com Modernizing Legacy Applications in PHP https://leanpub.com/mlaphp Solving the N+1 Problem in PHP https://leanpub.com/sn1php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php