Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95385 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 17803 invoked from network); 22 Aug 2016 16:30:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Aug 2016 16:30:08 -0000 Authentication-Results: pb1.pair.com header.from=cmbecker69@gmx.de; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=cmbecker69@gmx.de; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmx.de designates 212.227.17.21 as permitted sender) X-PHP-List-Original-Sender: cmbecker69@gmx.de X-Host-Fingerprint: 212.227.17.21 mout.gmx.net Received: from [212.227.17.21] ([212.227.17.21:55302] helo=mout.gmx.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 33/A3-33251-E882BB75 for ; Mon, 22 Aug 2016 12:30:07 -0400 Received: from [192.168.2.103] ([79.243.115.246]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0MCxfb-1bSDTR43LX-009i9x; Mon, 22 Aug 2016 18:29:59 +0200 To: Julien Pauli , Alexander Lisachenko References: Cc: Rowan Collins , "internals@lists.php.net" Message-ID: Date: Mon, 22 Aug 2016 18:30:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:oQHNJzxiCFs87L4kbxjn6lZGSp4zO26Y1OWitVSjxXyeMdLX/oG NTxpLU+xjxhC3HhI1yoC4FEwLD9FU1+8xjGGOvHUZtqsjL1kw6SAMEVa5sVf7w2ewwqXqMI cOPjAThWlX9LXQNyMroq2zZShzjKUzth8HnZRDnmGqeKBEHamsNNakjI0dMNh4jg0q2CLjy R+4x/ucAeCpBXk2xKt1xQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:wIh0xnGiqRo=:8Lc9ptQNv3M1fbrVaa1gmq nn+3pWU1CkYNaD4vSqTX3RUK/wiJhwwwJO6aRujO1AFJ1/jlXnfdM6hVpOapWUta6PtvOqocn 0zEHsLmGjwr94eXh0FA0Ydb55PQrWA/h8ep+O3f0lAZtBI6otjp3oTw32lw+vaiZIAK6wbm8c xeIQ/FxgPA7wjIYmUJljwbqLTCSA5BCAhO44+l1GKlvMofeCpc+UBZB3cw16NFDXDHnd9+dr7 e46nT3mweaf9TzEm+Fw6aQYhbWpcyKolBt1aPweSG5zmKtMvLRh4QwXun4JRhfGyekPwHVkMc Db4g24UO4u8/tgOsD5hVNKvckHvEot2KPsxgx7AeDVlbIE7wM0+fOyWMg+HwY8OA1cveI1Snk PSH0vwbCQzrk8KAlOhfPiCHtgFlnpbUUgA2tes1foLVmtkwzivi6FsxWAGl61tB2l8kEZjJFF 5YtEuv29iRhPEoyUpy1LHNVcm3C9fRFEclBj8acfYRxiuX2+qlxdcLetwH7lrrq5B5n/O7Pwk 064EiVKzx36Z4oMHJYXbyGJh8WgCbpV1udHLjshTTQWbW5SpsnqGufnAp881pTxjrVp73piUQ lwfMyZ80dv4tqHjz5KhhXWkc4+Epdey06D1g4larzhxTwGTlZcg7xvTsTiZrz/Wwo8XR2taBx bTLpHgrzrPmCjObTqYn7OcaldTqtu6+Emq4Y9mBGjjpURq8USKWBVns0er9Abuy96V3xc5Dtg LuJKBtYgh2gJL0FKd0tlgCsqEYtDl7Kr5WPZqsZcwLRdW/wv4HN3uK+s6ojZlGJA7d9RnS/FA YxCxTWB Subject: Re: [PHP-DEV] BC break: ReflectionMethod::invoke() expects parameter1 to be object, string given From: cmbecker69@gmx.de ("Christoph M. Becker") On 22.08.2016 at 18:00, Julien Pauli wrote: > I agree this is a BC break and should not stay as-is in source code. I wonder why we have more than 100 lines of "Backward incompatible changes" in the PHP 7.1.0beta3 changelog[1], if BC breaks shouldn't be introduced in a minor release. > It makes some testsuites fail, that did not fail before ; thus it breaks things. An estimated 10% (at least) of my *bugfixes* in GD broke at least one PHPT, because the test was broken in the first place. > I think @Alexander is right. > We should allow passing a string, and perform some Late Static Binding > through it. > That would solve the BC Break problem as well as extend the feature in > a more PHP-friendly way. Are you sure that would solve the BC break? As it were, one could pass an arbitrary string. I can easily imagine that some refactoring introduced a new class in a hierarchy, but nobody noticed that an ::invoke() call would have to be adjusted accordingly. Suddenly changing the meaning of the first parameter may well introduce a behavioral change. [1] -- Christoph M. Becker