Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23638 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 34066 invoked by uid 1010); 24 May 2006 19:42:40 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 34050 invoked from network); 24 May 2006 19:42:40 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 May 2006 19:42:40 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:57558] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 4C/F3-19568-037B4744 for ; Wed, 24 May 2006 15:42:40 -0400 Received: from baumbart.mbo (dslb-084-063-055-198.pools.arcor-ip.net [84.63.55.198]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 8A3CF35C1F0; Wed, 24 May 2006 21:42:36 +0200 (CEST) Date: Wed, 24 May 2006 21:40:41 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <1399977255.20060524214041@marcus-boerger.de> To: Andi Gutmans Cc: Edin Kadribasic , truth@proposaltech.com, In-Reply-To: <7.0.1.0.2.20060515194051.02b32ef8@zend.com> 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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] fatal static call in php 6.0? From: helly@php.net (Marcus Boerger) Hello Andi, passing $this to a static function is a different set of problems calling trouble on another front. If you pass $this to a static function you sooner or later pass it as $this and sooner or later you call back into the object scope from that $this. Now the trouble is that suddenly we have two $this. The obejct $this which is a pseudo variable controlled by the engine and which cannot be overwritten and $this in the local symbol table. The one that can be changed and even unset. I am quite sure the engine is not designed to take care for this situations in all places. That said sooner or later the same people complaining now will shout at us: hey you stuff sucks - fix it. marcus Tuesday, May 16, 2006, 4:41:33 AM, you wrote: > I don't see why it has to be a fatal error. If there's an instanceof > relationship we can keep $this. If not, we should not pass $this > (which I believe we already do in PHP 5), in which case the author > would have to pass $this if he wants to change public properties. > Andi > At 12:49 PM 5/15/2006, Edin Kadribasic wrote: >>Todd Ruth wrote: >>>I don't see benefits of making semi-static fatal that make it >>>worth keeping those of us with large apps that depend on semi- >>>static from upgrading to php6. >> >>My sentiments exactly. OO purity/strictness do now work well with >>PHP's main strength -- its dynamicity. >> >>Edin >> >>-- >>PHP Internals - PHP Runtime Development Mailing List >>To unsubscribe, visit: http://www.php.net/unsub.php Best regards, Marcus