Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23556 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 87625 invoked by uid 1010); 17 May 2006 21:25:29 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 87608 invoked from network); 17 May 2006 21:25:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 May 2006 21:25:29 -0000 X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 80.74.107.235 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from ([80.74.107.235:61338] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id CA/93-19568-7C49B644 for ; Wed, 17 May 2006 17:25:28 -0400 Received: (qmail 19041 invoked from network); 17 May 2006 21:25:13 -0000 Received: from internal.zend.office (HELO mail.zend.com) (10.1.1.1) by internal.zend.office with SMTP; 17 May 2006 21:25:13 -0000 Date: Thu, 18 May 2006 00:25:13 +0300 (IDT) X-X-Sender: frodo@mail.zend.com To: Jeff Moore cc: internals@lists.php.net In-Reply-To: Message-ID: References: <785810036.20060511193536@ionzoft.com> <44647B7A.2070301@php.net> <932738738.20060513112734@marcus-boerger.de> <837405862.20060513223403@ionzoft.com> <36828701.20060514110529@marcus-boerger.de> <31269879.20060514221212@marcus-boerger.de> <1327845846.20060514222154@marcus-boerger.de> <1562034641.20060516203354@marcus-boerger.de> <7.0.1.0.2.20060516235201.090f10a8@zend.com> <7.0.1.0.2.20060516142654.02c78380@zend.com> <596643859.20060516233753@marcus-boerger.de> <7.0.1.0.2.20060516144030.039abe98@zend.com> <1531743211.20060516234945@marcus-boerger.de> <1014418169.20060516181322@ionzoft.com> <1677590447.20060517002135@marcus-boerger.de> <446A5B52.9060001@cschneid.com> <27079878.20060516191743@ionzoft.com> <446A601A.8010205@vocalspace.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [PHP-DEV] private, protected, readonly, public From: stas@zend.com (Stanislav Malyshev) JM>>1. __get/__set are too cumbersome for simple use cases. (Hence this JM>>thread) This thread is in no way "simple use case". JM>>2. __get/__set is slow. (In the best case: about 10x slower than simple JM>>property, 3x slower than an accessor method call) Slow as opposed to calling different function for different properties, adding additional lookups on each access? JM>>individual properties, just as you can in Java, C#, Ruby, Delphi, JM>>Python, Visual Basic, Objective C, Smalltalk, and sometimes C++. (To JM>>the best of my knowledge.) Read only is a special case of this JM>>capability. This would be, however, yet another level of complexity added to the language... -- Stanislav Malyshev, Zend Products Engineer stas@zend.com http://www.zend.com/ +972-3-6139665 ext.115