Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82590 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 69746 invoked from network); 13 Feb 2015 09:49:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Feb 2015 09:49:57 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.169 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.192.169 mail-pd0-f169.google.com Received: from [209.85.192.169] ([209.85.192.169:39552] helo=mail-pd0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0D/51-62214-4C8CDD45 for ; Fri, 13 Feb 2015 04:49:57 -0500 Received: by pdjy10 with SMTP id y10so18384364pdj.6 for ; Fri, 13 Feb 2015 01:49:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=r57Ad8YOREh9N6e6SQ32Igo3IezjFVYnZnOfqNqMzoM=; b=R14Otl/Ji7FSfInLUfS9ZMfbqfYRkG7mFV7XmeoBdrbCHKS5CdkgH1YnN8PVB5ab/T aKHwdSwA14xBy5Is1s6Dab2RtOMhgdj6sJk+dlhRpl04YPsY4Uo6OkNtzKOV8urZRWVq 13n5ChtmBxM9GUr2TCy/6wj4rFapJ0/aaB33y8mflmAw5V1CJf9D/Butj9YNammZP/y4 wWaaLyd4yeDg20IrJx60b49Fxxrr409ELuwUc6K5hpvIkkDkJIAsTjs11Qc/5+beTQ8y zFIWZBdnLAW1w/cARDF+ff9bksrgao3AKKukq25OnEDzbjahRBa+kREfeht5IjM1yjln ZZEg== X-Received: by 10.66.221.135 with SMTP id qe7mr14226893pac.6.1423820994049; Fri, 13 Feb 2015 01:49:54 -0800 (PST) Received: from Stas-Air.local (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by mx.google.com with ESMTPSA id ut3sm6196884pbc.25.2015.02.13.01.49.52 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 13 Feb 2015 01:49:53 -0800 (PST) Message-ID: <54DDC8BB.9050508@gmail.com> Date: Fri, 13 Feb 2015 01:49:47 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: wp12173047-156224 wp12173047-156224 , internals References: <54DD1BB1.1090501@gmail.com> <54DD815F.70504@mabe.berlin> <54DD8AA9.3040808@gmail.com> <752856272.5008.1423809953291.JavaMail.open-xchange@app07.ox.hosteurope.de> <54DDAC30.7090206@gmail.com> <1160209871.5291.1423817337421.JavaMail.open-xchange@app07.ox.hosteurope.de> In-Reply-To: <1160209871.5291.1423817337421.JavaMail.open-xchange@app07.ox.hosteurope.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Remove $this from incompatible context From: smalyshev@gmail.com (Stanislav Malyshev) Hi! >> > there should be no bc break as the API doesn't change and the method >> > produces the exact same result as before. >> >> Sorry, this makes no sense to me. You claim that if you changed the >> method code to do different thing it should continue working as if you >> didn't change it? Why? I just don't get it. >> > If every change of a method code is a bc break then you should stop > coding as bc breaks are evil. Sorry, I still can't understand this. Who's talking about "every change is a bc break"? You changed your code so that if was working before but now it doesn't. It is a bad change. Has nothing to do with the engine. Has nothing to do with "every change". Has nothing to do with anything except misguided expectation that if you use some feature in your code and then change the same code to not have that feature, somehow (magically?) it is expected to still work. It can't and won't. Either don't rely on that feature or don't remove it. > You talked that a method defined as instance method (no static modifier > defined) will become the same API as if the static modifier were defined I don't know what you refer to as "same API" but the basic fact - not in the future, not "will become", not in theory, but in PHP right now - that the difference is only that static methods can't use $this. All the rest works the same. > only because the method doesn't use $this. In my eyes this magically > changes the API. Your eyes are wrong, nothing is changing any APIs. -- Stas Malyshev smalyshev@gmail.com