Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101781 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30000 invoked from network); 6 Feb 2018 14:36:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Feb 2018 14:36:17 -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.128.175 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.128.175 mail-wr0-f175.google.com Received: from [209.85.128.175] ([209.85.128.175:37020] helo=mail-wr0-f175.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 69/B3-49805-F5DB97A5 for ; Tue, 06 Feb 2018 09:36:16 -0500 Received: by mail-wr0-f175.google.com with SMTP id a43so2171124wrc.4 for ; Tue, 06 Feb 2018 06:36:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=pSmPtnM9JSx4CGOd4/svxyKVPUL5upAbY2BD/GrJ4W4=; b=dkRatYkRNHqeSlje0LVL50EjJcsaortxOruz8rqXoxJ3id/n7N2QOPcPt67ibmy+vM gUhUqMpJWelH/w8s+u14TVNelURv7gpuTFSwVLWCjhw6yaIpqEenudXlj12ves7f57lM WfUlQinOvcYK5PEkDfCIAKMV/JMmtKygaUmp1eekQQ/sMsyGVUNCPqzx8hyxSdkVAalS OLr0UfHDw/XifDmvgkLlS5GULWeoXHsd4OEFPTO2Ye/v5jogIEWGzNFInZgHj5tqh+WA JZ/hrKfOSsRQGq27q7yLxZfypRgD6FMfatGt1EQwgOu67ydESTYVtg+0v6lnfaEQbB0T I/Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=pSmPtnM9JSx4CGOd4/svxyKVPUL5upAbY2BD/GrJ4W4=; b=Gntr2lpkoVw6rJ3IOVGjjPBHSMmiwynkO8v+8BfrxNn7s2hjeMliwGdQnx0MdEJuAi g9ArOkWJgQpgNgn3S2I/UQtZCyROrpTUVKHxntQcLnxP6OMCk3Pqjb7RP5665CB8rXzG NrAHMfXp1AQU8naApfwMsZDmVCz+RiSOovMB0TwmTX6NYPQyzPuToDLWNsUG+s7M+DfI 7jGbOZsE1zBNbgnUmyGCP8MwnS/desyDLMyaRKsD6dzpfrpP5JhHxpklxremGodW4qCc Mv5sjwLDs8MGJ9rCdRasTS/4NRGy9UcqHKdf4d+8+Tt8s0Nv1mn3/T2rYm1hTmEKtPv9 EaRQ== X-Gm-Message-State: APf1xPAstOUVHv6otdDuLS9VSymGFfmalAZp02nWAG6hlMzocY2MJESg BbklnMdNfo5kOIR30T1xAk0C4iOFPr2b451GiMo= X-Google-Smtp-Source: AH8x226NPbAEcdnHAhh4rTIPCkS/4PsrI1okZL0xDZNaHDl2kEUHOzbEbVo3MdvMt+/5og1bn2E7PknXVDLgOYztdO8= X-Received: by 10.223.153.54 with SMTP id x51mr2693972wrb.210.1517927772557; Tue, 06 Feb 2018 06:36:12 -0800 (PST) MIME-Version: 1.0 Sender: morrison.levi@gmail.com Received: by 10.28.56.3 with HTTP; Tue, 6 Feb 2018 06:36:11 -0800 (PST) In-Reply-To: References: <07d9e3a0-d516-aa77-4818-ce8b02e8dd08@gmail.com> Date: Tue, 6 Feb 2018 07:36:11 -0700 X-Google-Sender-Auth: 7uvN2iUaZ2uLNBKVGEt-6hopKpo Message-ID: To: Rowan Collins Cc: PHP Internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC][DISCUSSION] Deprecation of fallback to root scope From: levim@php.net (Levi Morrison) On Tue, Feb 6, 2018 at 3:08 AM, Rowan Collins wrote: > On 6 February 2018 at 01:51, Levi Morrison wrote: > >> It's fine to ignore them as long as they fix them later. That's >> precisely why I think E_STRICT is a good category for these notices. >> If, however, they ignore them forever that's their fault; we are >> simply providing advanced notice of a behavior we'd like to eventually >> change. >> >> Let me put "eventually" into perspective. We will probably have a 7.3 >> before we have an 8.0. This means that 8.0, the absolute earliest >> version we could remove this feature, is at least 2 years away before >> it reaches *any* of our users. Unless we extend it like we did with >> the last 5.X release (and I think we probably should extend it) this >> means that users can run their existing code on an officially >> supported PHP 7 release for the next 4 years at the minimum. I am >> fairly confident that for one reason or another it will delay another >> year or two, putting it at 5-6 years. >> > > > I think for a lot of people the "forever" in your first paragraph and the > "5-6 years" in your second paragraph will feel like the same thing. If the > message is "this might be removed some time in the next decade", people > will simply shrug and ignore it until an actual removal is announced; > thinking as a cynical user, there's no guarantee the recommendation won't > be changed back in future - we've had features "undeprecated" before. > > As others have pointed out, even if you run an analyser over your own code > base to add \ in the appropriate places, you can't turn on E_STRICT notices > without being flooded until all your dependencies have done the same - and > there's no compelling reason for them to do so. > > That's why I think having some concrete benefit much sooner is the only way > to stop people resenting this change. Build function autoloading in a way > that it only works if you opt out of the fallback, and *then* deprecate the > fallback mode, and it feels like progress rather than disruptive tinkering. This thinking is too pessimistic. We cannot design to appease our worst users. The advanced notice is better than a sudden one even if we have function autoloading.