Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23746 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41670 invoked by uid 1010); 28 May 2006 08:05:18 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 41654 invoked from network); 28 May 2006 08:05:18 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 May 2006 08:05:18 -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:20016] helo=mail.zend.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 6B/40-38460-BB959744 for ; Sun, 28 May 2006 04:05:17 -0400 Received: (qmail 2965 invoked from network); 28 May 2006 08:04:53 -0000 Received: from shire.zend.office (10.1.2.160) by internal.zend.office with SMTP; 28 May 2006 08:04:53 -0000 Date: Sun, 28 May 2006 11:04:53 +0300 (IDT) X-X-Sender: frodo@shire.zend.office To: internals@lists.php.net In-Reply-To: <4410698096.20060528000340@marcus-boerger.de> Message-ID: References: <138663365.20060514205903@marcus-boerger.de> <038d01c676f8$ab9b3380$6602a8c0@foxbox> <44685D24.2000801@php.net> <1147708994.14148.23.camel@notebook.local> <16710545416.20060515202714@marcus-boerger.de> <1147721541.14148.47.camel@notebook.local> <4468DB43.1020005@emini.dk> <7.0.1.0.2.20060515194051.02b32ef8@zend.com> <1148496966.19173.79.camel@notebook.local> <4410698096.20060528000340@marcus-boerger.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Re: [PHP-DEV] fatal static call in php 6.0? From: stas@zend.com (Stanislav Malyshev) MB>>> I know the following test case does not even remotely follow MB>>> good OO design principles, but it's hard to imagine us going MB>>> back to the drawing board with our app. Please don't break MB>>> the following in php6 just to teach me a lesson about OO design. That's not about some abstract design principles - it's just a bug in OO implementation, static call should not leave $this from previous context dangling. Of course it's unlpleasant to find your code to rely on buggy behaviour, but bugs need to be fixed anyway. There's no single reason I can imagine why "$this" in context of static call should mean "the object we used last time on the stack where we had member function call". That's just not right. MB>>> test that $this survives in a semi-static call What on earth "semi-static" could mean??? -- Stanislav Malyshev, Zend Products Engineer stas@zend.com http://www.zend.com/ +972-3-6139665 ext.115