Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65197 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42981 invoked from network); 26 Jan 2013 02:03:32 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Jan 2013 02:03:32 -0000 Authentication-Results: pb1.pair.com header.from=cpriest@zerocue.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=cpriest@zerocue.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zerocue.com designates 67.200.53.250 as permitted sender) X-PHP-List-Original-Sender: cpriest@zerocue.com X-Host-Fingerprint: 67.200.53.250 mail.zerocue.com Received: from [67.200.53.250] ([67.200.53.250:53535] helo=mail.zerocue.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A8/C1-17242-37933015 for ; Fri, 25 Jan 2013 21:03:31 -0500 Received: from [172.17.0.122] (unknown [70.112.216.188]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.zerocue.com (Postfix) with ESMTPSA id 0E06312034E; Sat, 26 Jan 2013 02:03:27 +0000 (UTC) Message-ID: <51033962.1030805@zerocue.com> Date: Fri, 25 Jan 2013 20:03:14 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Stas Malyshev CC: Seva Lapsha , =?ISO-8859-2?Q?Damian_Tylczy=F1?= =?ISO-8859-2?Q?ski?= , "internals@lists.php.net" References: <5102D1DB.9060305@sugarcrm.com> <51032B3C.7040608@sugarcrm.com> In-Reply-To: <51032B3C.7040608@sugarcrm.com> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] I think that "Function naming inconsistency" bug deservers more attention From: cpriest@zerocue.com (Clint Priest) On 1/25/2013 7:02 PM, Stas Malyshev wrote: > Hi! > >> Well, how about renaming the functions, create aliases for BC and throw >> E_DEPRECATED or E_STRICT on their usage? And write a PEAR script bundled >> with the distribution to migrate to the new convention? > Well, the problem with these things is this: suppose you have testing > suite that verifies your code. What you do with E_DEPRECATED? You can > treat them as failure, and that means in hypothetical PHP 6 release you > code is broken, and you can't release it until you fixed it - so that > means for you the effect it as if the function was effectively removed. > On the other hand, you can ignore it - and then when these functions are > removed, you get all your code broken, and while it is not removed, it's > like we didn't do anything. > Depending on just what is going to change, a simple script people can run to scan their code and spit out a diff of recommended changes they can simply review and approve of could be pretty painless. Then again you probably have people that would be subject to vendor updates without the ability to run the script or understand the changes it recommends. May be a small minority though. Are we talking mostly needle/haystack & haystack/needle type BC changes here or other more nefarious things? Realistically couldn't we just introduce a configuration parameter to keep "the inconsistent parameter order," perhaps along with a script to suggest the changes needed to bring some code up to speed? Would be a bit more in the core, for a time, but would allow people to transition when they wanted to, without all of the errors... -- -Clint