Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:86682 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 99040 invoked from network); 15 Jun 2015 21:02:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 15 Jun 2015 21:02:51 -0000 Authentication-Results: pb1.pair.com smtp.mail=anatol.php@belski.net; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=anatol.php@belski.net; sender-id=unknown Received-SPF: error (pb1.pair.com: domain belski.net from 85.214.73.107 cause and error) X-PHP-List-Original-Sender: anatol.php@belski.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:54785] helo=h1123647.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0F/63-15639-97D3F755 for ; Mon, 15 Jun 2015 17:02:51 -0400 Received: by h1123647.serverkompetenz.net (Postfix, from userid 1006) id 520A223D6299; Mon, 15 Jun 2015 23:02:47 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on h1123647.serverkompetenz.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.5 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable version=3.3.2 Received: from w530phpdev (pD9FD2BF6.dip0.t-ipconnect.de [217.253.43.246]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by h1123647.serverkompetenz.net (Postfix) with ESMTPSA id 21F1123D615B; Mon, 15 Jun 2015 23:02:44 +0200 (CEST) To: "'Nikita Popov'" , "'Dmitry Stogov'" Cc: "'Aaron Piotrowski'" , "'PHP Internals'" , "'Ferenc Kovacs'" , "'Kalle Sommer Nielsen'" References: <971AB39D-1E20-43E8-9CF1-A7F67E3C14C3@icicle.io> <556363D3.1040902@gmail.com> <12C3389A-AFF5-42CA-8190-E4227309DAED@icicle.io> <016201d0a6bf$96e37dc0$c4aa7940$@belski.net> <0A4CC87D-2E54-4202-9AA2-22856F0B6011@icicle.io> <008701d0a762$4348c320$c9da4960$@belski.net> <36F7469F-7D86-43F6-ABC7-9252DF707BFC@icicle.io> In-Reply-To: Date: Mon, 15 Jun 2015 23:02:42 +0200 Message-ID: <01c901d0a7ae$a18a06f0$e49e14d0$@belski.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQFtSLKjM4Kf9ceVOz7o+CSYMVJiZgIhwnePAYrvRlYBpwkcHAJFBRC9Ao7iPHsBQ/CyewGDLtqyApwDvJgBUwH6vwIaLHCJAWoVwW8Bfqqbu53FxRqg Content-Language: en-us Subject: RE: [PHP-DEV] [RFC] Throwable Interface From: anatol.php@belski.net ("Anatol Belski") > -----Original Message----- > From: Nikita Popov [mailto:nikita.ppv@gmail.com] > Sent: Monday, June 15, 2015 10:36 PM > To: Dmitry Stogov > Cc: Aaron Piotrowski; Anatol Belski; PHP Internals > Subject: Re: [PHP-DEV] [RFC] Throwable Interface >=20 > On Mon, Jun 15, 2015 at 4:53 PM, Dmitry Stogov = wrote: >=20 > > > > > > On Mon, Jun 15, 2015 at 4:55 PM, Aaron Piotrowski = wrote: > > > >> > >> On Jun 15, 2015, at 6:56 AM, Anatol Belski = wrote: > >> > >> Hi Dmitry, > >> > >> -----Original Message----- > >> From: Dmitry Stogov [mailto:dmitry@zend.com ] > >> Sent: Monday, June 15, 2015 10:53 AM > >> To: Aaron Piotrowski > >> Cc: Anatol Belski; PHP Internals > >> Subject: Re: [PHP-DEV] [RFC] Throwable Interface > >> > >> Hi, > >> > >> I made a quick code review, and I don't see any technical problems = in > >> implementation. > >> > >> 1) Anyway, I think it's a bad idea to rename "EngineException" (and > >> others) into > >> "Error"(s). > >> This will prevent using class "Error" in applications, and may > >> potentially break some of them. > >> I also don't like renaming in ~440 tests (I didn't review all these > >> changes). > >> > >> 2) I think it's better to move "zend_ce_throwable" > >> definition/initialization from zend_interfaces.h/c into > >> zend_exception.h/c. > >> At least, this will allow arg_info reuse. (it's missed now, but > >> should be added now or in the future). > >> > >> 3) In ext/simplexml/tests/SimpleXMLElement_xpath_3.phpt > >> EngineExcpetion is not renamed into Error. > >> > >> Thanks for the review. I've also tested the branch which has = today's > >> master merged in, by now it doesn't show any functional regression. > >> > >> Actually I part your first concern about Error. Spent some time > >> phishing for "class Error" on github and found three apps doing = this > >> without namespace. But that's from 100 search result pages. And = those > >> three apps are forked zero to 1 times, so pretty much low usage. = This > >> will likely break more in the world, we hardly know. > >> > >> The current RFC can't be changed while in voting. But how it looks > >> like, the principle of the Trowable RFC is something everyone = agrees > >> on. Maybe do another RFC in parallel for better names? Still I'd > >> stand for taking it into alpha2 - if we want to have it, better to > >> arrange it in a way that it doesn't cause unnecessary delays in the = release > process. > >> > >> > >> > >> Hi Dmitry and Anatol, > >> > >> I fixed three more tests that were missed when merging, as I only > >> checked those that failed after the merge. I should have used find > >> and replace again after the merge, which is how I changed the > >> majority of the tests. Only a few tests required manual changes, > >> mostly because of hard-coded string lengths, and one or two tests > >> used the class name Error. Note that Nikita recently changed nearly > >> all these tests and many others when updating the phrasing on > >> uncaught exception messages. While many tests were changed, users > >> won=E2=80=99t have such issues because they aren=E2=80=99t catching = these exceptions > >> yet. > >> > >> Would you like me to move zend_ce_throwable to zend_exceptions.h/c = or > >> is that something you=E2=80=99d take care of after the merge? > >> > > > > I don't care about this a lot. I just think it's better. > > If you don't see any problems, please, move the code. > > > > > >> I am strongly against naming something _____Exception if it = doesn=E2=80=99t extend > >> Exception. This was most of the point of the RFC, as I find code = such as > >> `catch (Exception $e) { =E2=80=A6 } catch (EngineException) { = =E2=80=A6 }` very > >> unintuitive and I > >> feel it will lead to confusion for users. > >> > >> I sifted through search results on GitHub looking for usage of = Error > >> before > >> proposing the RFC and also found only a couple of actual uses from > >> generally > >> unused projects. Most of the other results are forks of an old = version of > >> PHPUnit. > >> Namespaces have been around long enough that most libraries and = apps will > >> not > >> have such a class in the root namespace. As far as BC breaks go, = renaming > >> a > >> class in an app is a fairly trivial one to make, and one that very, = very > >> few people > >> will have to do. I feel having a simple name such as Error is more > >> important than > >> avoiding naming conflicts with a very small amount of code. > >> > > > > Nikita, what is your opinion? > > If you don't care, I won't as well. > > >=20 > I'm fine with these changes. Patch looks okay to me as well. >=20 I would then suggest Aaron to stick to the minimal voting period = (announcing this as early as possible), if the voting passes - then = merge the branch on Wednesday. This way we would have nearly one week to = test and do fixes in master. Kalle, Ferenc, how do you feel about this? Regards Anatol