Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:18505 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 58961 invoked by uid 1010); 28 Aug 2005 08:17:53 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 58946 invoked from network); 28 Aug 2005 08:17:53 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Aug 2005 08:17:53 -0000 X-Host-Fingerprint: 80.74.107.235 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from ([80.74.107.235:40553] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 44/9C-28235-03371134 for ; Sun, 28 Aug 2005 04:17:53 -0400 Received: (qmail 11760 invoked from network); 28 Aug 2005 08:17:50 -0000 Received: from shire.zend.office (10.1.2.160) by internal.zend.com with SMTP; 28 Aug 2005 08:17:50 -0000 Date: Sun, 28 Aug 2005 11:17:50 +0300 (IDT) X-X-Sender: frodo@shire.zend.office To: Derick Rethans cc: PHP Developers Mailing List In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [PHP-DEV] Property Overloading RFC From: stas@zend.com (Stanislav Malyshev) DR>>Problem 1 is the least of the 3 problems, but introducing the keyword DR>>also helps solving the other two. Strangely enough it is the agument I happen to hear most. I think it's not PHP problem at all. DR>>If I'm not wrong, __isset() checks if something is *set* not if it's DR>>available. The reason for __have_prop() is to check whether something is DR>>declaread as "property" in the class. There is no other way of doing DR>>that unless we'd like to break BC. That, however, does not answer my second question - when __have_prop would be called by the engine and if never, what prevents you from calling any method __have_prop just now? DR>>If it returns false, the engine can throw an error on the line where DR>>it was used, not inside the __get() method itself, as that doesn't DR>>help debugging your code (as you don't usually know where it was DR>>called from). That I understand. However, you still don't have means to know _what_ was wrong in this line. BTW, how comes you don't know where it came from if you have backtrace? -- Stanislav Malyshev, Zend Products Engineer stas@zend.com http://www.zend.com/ +972-3-6139665 ext.115