Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85969 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 50862 invoked from network); 27 Apr 2015 15:50:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Apr 2015 15:50:06 -0000 Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.213.177 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.213.177 mail-ig0-f177.google.com Received: from [209.85.213.177] ([209.85.213.177:38152] helo=mail-ig0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C9/38-17556-DAA5E355 for ; Mon, 27 Apr 2015 11:50:05 -0400 Received: by igbhj9 with SMTP id hj9so65536026igb.1 for ; Mon, 27 Apr 2015 08:50:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=hhFWg0VOWhP7A1RrvxBLrvz17x/UFb+xySdVXCGupA8=; b=g2bdZojKavA6u1M0Jhn/ftnSOH09DdsJjI3gSpCc4vkpSMSOlvok3gYxZA87h1ZKqx 0EEzMvOCdpqKTIl9iuM2NlsXKL45vPjBYsiLO44UB/oX8Vo3a/ftjNSk2WIMOUTVjwEC YOtKf+kXw5GjdtLyXL5d0BFPNc/c7gB6y653dA83Gd4IDItvnXUKC9frwwgqGctwSJjF 6r8im9RKOZBqT9V2thBeNVCOl7rkc11CMeu8EsoIGPdQJYg5wW7JPgS5HaJ5nUrn2Af+ a5VoTmKCWuwyL9dMtdFtEvg7tFWigCFHv1ogXK9B6imH4LVC/yNkzAFivaiAoUeTsyx1 ISag== MIME-Version: 1.0 X-Received: by 10.50.6.37 with SMTP id x5mr14287290igx.45.1430149802162; Mon, 27 Apr 2015 08:50:02 -0700 (PDT) Sender: morrison.levi@gmail.com Received: by 10.79.98.67 with HTTP; Mon, 27 Apr 2015 08:50:02 -0700 (PDT) In-Reply-To: References: Date: Mon, 27 Apr 2015 09:50:02 -0600 X-Google-Sender-Auth: D7XJrEzNyIw5Li6F3vrnPFJz_6U Message-ID: To: Nate Abele Cc: internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [RFC] Reserving More Types in PHP 7 From: levim@php.net (Levi Morrison) On Sun, Apr 26, 2015 at 1:36 PM, Nate Abele wrote: > On Sunday, April 26, 2015, Levi Morrison wrote: > > On Sat, Apr 25, 2015 at 8:27 PM, Nate Abele wrote: >>> Dear Internals, >>> >>> I would like to discuss a small RFC for reserving more types in PHP 7: >>> https://wiki.php.net/rfc/reserve_more_types_in_php_7 >> >> >> Welp, thanks for breaking my framework, everyone. >> >> It just *had* to be case-insensitive too, hm? > > I'm not sure what you want us to say. > > > Well, it looks to me like all the discussion is around preventing class a= nd > namespace names like =E2=80=9Cstring=E2=80=9D, =E2=80=9Cfloat=E2=80=9D, e= tc. Granted, PHP class names are > case-insensitive, but how hard would it be to reserve these in a > case-sensitive way? Not necessarily hard, but it would create an inconsistency with other types. PHP has plenty of consistency problems already; do you *really* want to add a new one? > Lithium, CakePHP, and Drupal all have String classes. These aren=E2=80=99= t small > projects. Not to mention the presumably untold numbers of developers who > have hand-rolled =E2=80=98type=E2=80=99 classes into their projects while= waiting around for > scalar type-hinting support to land. And everyone=E2=80=99s cool with bre= aking all > of these? This was known at voting time, yes. Having an actual string type in PHP was a separate RFC that was accepted -- realize that while my RFC would have reserved it whether that other one passed or not the other RFC *did* pass, so effectively the RFC you linked only reserved true, false and null. > I get that PHP 7 is the big opportunity to break backward compatibility, = but > yeesh, really? It=E2=80=99s like we=E2=80=99re not even trying anymore. The number of code bases using a string class is quite small when you compare it to the total number of PHP developers and code bases out there. I think you are blowing this out of proportion because you are directly affected by it. I get it -- my website at work was really hit hard in PHP 5, 5.3 and 5.4. We had some really crappy code that relied on register globals, some deprecated session functions, magic quotes, ext/mysql and other problems. After fixing each issue our codebase has been better off. If you can't afford to update an application then you need to seriously think about that since that application apparently isn't valuable enough for you to maintain it.