Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65522 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59321 invoked from network); 31 Jan 2013 00:00:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jan 2013 00:00:39 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.123 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.123 smtp123.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.123] ([67.192.241.123:57832] helo=smtp123.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 4E/CB-09318-524B9015 for ; Wed, 30 Jan 2013 19:00:38 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp22.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id 7C62E170E60; Wed, 30 Jan 2013 19:00:34 -0500 (EST) X-Virus-Scanned: OK Received: by smtp22.relay.dfw1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id 2A6CB170E5D; Wed, 30 Jan 2013 19:00:34 -0500 (EST) Message-ID: <5109B421.4000805@sugarcrm.com> Date: Wed, 30 Jan 2013 16:00:33 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Alan Knowles CC: PHP Internals References: <1460659e-237d-4c7c-8cfa-523ec857d646@email.android.com> <51074873.5090600@roojs.com> <51076233.2040507@sugarcrm.com> <5109A834.6070503@roojs.com> In-Reply-To: <5109A834.6070503@roojs.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [VOTE] Deprecate and remove calls from incompatible context (example of real usage that will break) From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > I did a testable version in javascript the other day. - it's similar to > this.. Javascript is not really an OO language. It has objects, but it doesn't really follow or enforce any of OO paradigms. It's prototype-based, so things work differently there. > An almost secret vote, that as I mentioned before, this was unfortunate, > that nobody spotted this before, There was objections when it was first There was not any "secret vote". It was announced on the list, just as any other votes are. I understand one can miss stuff, but there was nothing secret, it was standard process. > proposed, but that was not really mentioned in the rfc, and the vote was > done in 7 days with one message mention the start of the vote. How many messages are necessary? Are we supposed to spam the list for weeks in hope people would actually read it? I think one is perfectly enough. > Why not make that E_STRICT actually useful, and change it so it only > occurs if the $this of the calling scope and the function do not share > the same top level parent. What common top level parent has to do with it? If you call common parent function, you don't need to call into wrong scope - you can call it from the same scope. It's when you want to call method that is not in your scope but pretend that it is - then you need wrong scope call. And it's not supposed to work this way - you're not supposed call methods on objects that don't have this method in their class. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227