private, protected, readonly, public

From: Date: Thu, 11 May 2006 23:35:36 +0000
Subject: private, protected, readonly, public
Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
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.


Thread (92 messages)

« previous php.internals (#23291) next »