Hello internals,
__get() and __set() are great, but 90% of the time, I find myself
using them to create public readonly properties.
The only problem with this is it is horridly inefficient, consuming
at least 1 function call and one switch statement (or equiv) per
property read.
Would it be possible to create a new object property attribute:
readonly
class xx
{
readonly $bar;
}
$o = new xx();
$o->bar = 10;
>>> FATAL ERROR
This way, PHP would allow reading (as if it were public), but only
allow writing from within the class.
I think it could really boost performance of complicated application
logic that wishes to enforce good visibility.
Comments?
PS. What brought this up was some serious performance issues in a
piece of code that I am working with - most of which can be tied
back to __get() performance.
--
Best regards,
Jason Garber mailto:[email protected]
IonZoft, Inc.