Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:21388 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7276 invoked by uid 1010); 4 Jan 2006 01:41:46 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 7261 invoked from network); 4 Jan 2006 01:41:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Jan 2006 01:41:46 -0000 X-Host-Fingerprint: 147.202.47.146 cruiser.plexpod.net Linux 2.5 (sometimes 2.4) (4) Received: from ([147.202.47.146:48742] helo=cruiser.plexpod.net) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id C0/11-34518-AD72BB34 for ; Tue, 03 Jan 2006 20:41:46 -0500 Received: from dsl254-067-175.nyc1.dsl.speakeasy.net ([216.254.67.175] helo=desario.homelinux.net) by cruiser.plexpod.net with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.52) id 1Etxea-00082D-VG; Tue, 03 Jan 2006 20:41:29 -0500 Received: by desario.homelinux.net (sSMTP sendmail emulation); Tue, 3 Jan 2006 20:37:57 -0500 Date: Tue, 3 Jan 2006 20:37:57 -0500 To: Mike Naberezny Cc: internals@lists.php.net Message-ID: <20060104013756.GI26280@desario.homelinux.net> References: <20060103205728.GF26280@desario.homelinux.net> <1852411085.20060103220656@marcus-boerger.de> <20060103213332.GG26280@desario.homelinux.net> <43BB0C61.1070806@zend.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <43BB0C61.1070806@zend.com> User-Agent: Mutt/1.5.11 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cruiser.plexpod.net X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - plexpod.com X-Source: X-Source-Args: X-Source-Dir: Subject: Re: [PHP-DEV] __call overload detection From: andrew@plexpod.com (Andrew Yochum) On Tue, Jan 03, 2006 at 03:44:33PM -0800, Mike Naberezny wrote: > I see your point with detection by something like __is_callable(), although > I can't personally think of a place where I'd use it. Consider a situation where a proxy/mediator/broker class implementing __call proxyies method calls to other classes (possibly of 3rd party origins), which themselves may or may not implement __call. You'd like the broker itself to have a consistent behavior for the sake of its users and good clean code. That's very difficult if the classes it's proxying for can't agree on a consistent behavior. The result might be lots of special cases in various levels of code, not to mention the possibility of a fatal error if any of the __call implementations try to behave like the language does. A change in the language could eliminate the ambiguity. Regards, Andrew -- Andrew Yochum Plexpod andrew@plexpod.com 718-360-0879