Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:41693 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 81973 invoked from network); 5 Nov 2008 20:24:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Nov 2008 20:24:31 -0000 Authentication-Results: pb1.pair.com header.from=stas@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=stas@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 63.205.162.116 as permitted sender) X-PHP-List-Original-Sender: stas@zend.com X-Host-Fingerprint: 63.205.162.116 us-gw1.zend.com Windows 2000 SP4, XP SP1 Received: from [63.205.162.116] ([63.205.162.116:6281] helo=us-gw1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6A/F2-22938-EF002194 for ; Wed, 05 Nov 2008 15:24:30 -0500 Received: from [192.168.16.110] ([192.168.16.110]) by us-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 5 Nov 2008 12:24:30 -0800 Message-ID: <491200FE.1000504@zend.com> Date: Wed, 05 Nov 2008 12:24:30 -0800 Organization: Zend Technologies User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: Lukas Kahwe Smith CC: Marcus Boerger , Gregory Beaver , Christian Schneider , PHP Development References: <49048EC1.9060908@chiaraquartet.net> <49061E01.8060503@zend.com> <11c607a60810271344i1a8cf53fl149447ad2f687f99@mail.gmail.com> <490628DB.9060209@zend.com> <11c607a60810271422l68949427pe31786275b0b152c@mail.gmail.com> <08747094-6B50-4A0D-9057-DFD12108B6C6@caedmon.net> <94CCB864-179A-48DA-A89A-3859796A9257@pooteeweet.org> <49063A1D.7070804@zend.com> <4906405F.7090205@zend.com> <490747B2.2010201@zend.com> <4D9A8597-EFE6-418A-B7F6-EAD9ED2361A5@pooteeweet.org> <7FA6946B-57B9-4BC0-B2F1-AFD47572F363@pooteeweet.org> <491071EC.7020501@cschneid.com> <49107527.7060604@chiaraquartet.net> <1652368155.20081105001225@marcus-boerger.de> <6246E5E0-BD11-48E2-B32B-DA7F82E605E2@pooteeweet.org> <885621138.20081105004925@marcus-boerger.de> <4910E33C.2070609@zend.com> <02297291-ADDF-4AA1-897C-607B93980A32@pooteeweet.org> In-Reply-To: <02297291-ADDF-4AA1-897C-607B93980A32@pooteeweet.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 05 Nov 2008 20:24:30.0348 (UTC) FILETIME=[81D8ECC0:01C93F84] Subject: Re: [PHP-DEV] namespace separator and whining From: stas@zend.com (Stanislav Malyshev) Hi! > Well, its not like the person is getting Y when he is expecting X. Both > classes have the same name after all, so there is some relation between They don't have the same name - two classes can't have the same name. And "relation" is definitely not enough - you really do not want to get generic \Exception instead of \My\Very\Specific\Exception - it would probably break all your error handling. That's like having a date with a pretty woman and getting her 85-year-old grand-uncle instead - the relation is there, but it's definitely not what you were going for :) > these two classes. More importantly its the users choice to enable this > in __autoload(). As all frameworks got that its the end users job to > implement autoload, I would not worry soo much in this case. I do not see a need for autoload to substitute different classes instead of ones that are requested. autoload has very specific function - to load classes. To override it with tricks that substitute one class for another is the runkit domain, and IMHO should stay there. It would seriously complicate matters everywhere (if you load the class, you can no longer be sure successful loading have indeed loaded you the class you asked for!) and appears completely unnecessary hack. -- Stanislav Malyshev, Zend Software Architect stas@zend.com http://www.zend.com/ (408)253-8829 MSN: stas@zend.com