Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100558 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 90162 invoked from network); 13 Sep 2017 13:15:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Sep 2017 13:15:48 -0000 Authentication-Results: pb1.pair.com smtp.mail=derokorian@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=derokorian@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.49 as permitted sender) X-PHP-List-Original-Sender: derokorian@gmail.com X-Host-Fingerprint: 209.85.218.49 mail-oi0-f49.google.com Received: from [209.85.218.49] ([209.85.218.49:46668] helo=mail-oi0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1E/50-19300-28F29B95 for ; Wed, 13 Sep 2017 09:15:47 -0400 Received: by mail-oi0-f49.google.com with SMTP id x190so1115462oix.3 for ; Wed, 13 Sep 2017 06:15:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=oCpnNmRbg+QIQoAeLJoq5QwbW21lukE0Nn2O092J4mY=; b=QiG76gFzfHMg5Pd6Kw/m4f/arBTDZMOK1Fmq+iEZuB6j8V+PlW6kKTTkGOtQznpYuy e0/LluE3oVN792CvUZ0pBNAKjlk/eajckavlBNvOfX+uWP+qMJ+cOJPWhDgjRYktBJW/ YWwZliB/ryNlmYFVBCnN4B1fomMNP0qJK1Z/k855+2kCTLo/VkNzntdxfnACFvUegMfK f68E+Dbbwa3t0DYuFPo177lD0dAdrRCumjIjUYD1Ef/6DOYJTYmfIShe1c/WKaevYx64 VuM8IZ191Tuh7ofKToOtd583chsOcPznX1Z9rvn8qBTjQ77VEbGPKG3c7Cvu2SUqsiHk atxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=oCpnNmRbg+QIQoAeLJoq5QwbW21lukE0Nn2O092J4mY=; b=LKQIt5xVyJgyattzIRM+DPUJQOIH4uLyf8yHk8hAsAIluEFTmmNN54g6iMf7S6QwwD h8sPkzYjFUJ1vSMAlyKtKwaftCvgJvog3EtVP04sCRlVBW8tgmj2T1cxiUB/RG2R/oEN VJ1mdWUbW9g1zS5Dkcc88WteRUi+xMuPAKXNjLv0Zs/Pm68bP0ROvv/YsAM3+ieMUgxE As7XZjtA60VTffWWLQ0k8kx2mCIQCss42JakLrsFQzsa0hJzWbeOVLFRW+GnYebB7w5T jrvwqS6o7+L98Ddsrvz4bJmKORTRjGkyyFfydfRXRDzDTHLLL2bMps8oI9enf+LQrG0F 3Cug== X-Gm-Message-State: AHPjjUjfHvKr0uIH/Me2ba+2sa2WF3QElomSSrrDskr2YPa5PMIbCBLr jvhX7lXTEMJSIgFlwHylM2UmUVDrIdbd7CJUew== X-Google-Smtp-Source: AOwi7QB3xsJ0h/4qDfC0Kk2Lv2sDbeKcY0i1kblh1t2usVsn6bKEdaVX5y3DuWAfN9ZgpOEdW+KnwOxXWKavKtsrC0U= X-Received: by 10.202.196.14 with SMTP id u14mr7872244oif.299.1505308543748; Wed, 13 Sep 2017 06:15:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.74.25 with HTTP; Wed, 13 Sep 2017 06:15:43 -0700 (PDT) In-Reply-To: <3D.0C.10715.383F8B95@pb1.pair.com> References: <3D.0C.10715.383F8B95@pb1.pair.com> Date: Wed, 13 Sep 2017 07:15:43 -0600 Message-ID: To: Tony Marston Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary="001a11352d32070d33055911f5f4" Subject: Re: [PHP-DEV] Deprecate and remove case-insensitive constants? From: derokorian@gmail.com (Ryan Pallas) --001a11352d32070d33055911f5f4 Content-Type: text/plain; charset="UTF-8" On Wed, Sep 13, 2017 at 2:59 AM, Tony Marston wrote: > >> > You seem to forget that autoloading is an option, not a requirement. I > don't use autoloading in my 14 year old framework for several reasons: > - An autoloader did not exist when I created my framework. > - I built an alternative mechanism into my framework, so I don't need an > autoloader. > - I don't like the way autoloaders work - all my class names are in snake > case (lowercase with underscore separators) and the autoloader converts '_' > into '/' thus producing a file path which does not exist. > I must be missing something, there is no autoloader shipped with PHP. You have to define your own and register it. You can choose to change _ into / within your autoloader, but that is entirely preference and not specifically part of autoloading. For example, here's my autoloader which does no such symbol replacement https://pastebin.com/rQRrXzCa > > By convention I always use uppercase for constants which makes them > instantly recognisable in my code as all other names are either completely > lowercase or mixed case. Making constants case sensitive instead of > insensitive would not affect me. > > However, I would be totally against switching the rest of the language to > be case sensitive for the following reasons: > - It would be a huge BC break no little or no benefit. > - It would allow developers to shoot themselves in the foot by having > different functions with the same name but different mixtures of case, so > that foo(), Foo() FOO() and fOO() would be treated as different functions. > - if people move from keyboard input to speech recognition, then simply > speaking a name would not work - you would have to spell it out character > by character, and specify either upper or lowercase for each character. > This is about deprecating the third parameter in define, so userland constants defined by this function cannot be case insensitive. As mentioned before by Christoph this is not an attempt to change case sensitivity for other identifiers (functions, classes, etc) even if it was brought up before. That is not his intention here, and we need to stick to the focus of this RFC. > People who think that case sensitive software is cool are deluding > themselves. When I started working on mainframe computers (UNIVAC and IBM) > in the early 1970s everything was case-insensitive. This was only changed > by people who did not understand the ramifications of their choice. > > -- > Tony Marston > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --001a11352d32070d33055911f5f4--