Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:101780 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19222 invoked from network); 6 Feb 2018 10:08:08 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Feb 2018 10:08:08 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.44 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.44 mail-wm0-f44.google.com Received: from [74.125.82.44] ([74.125.82.44:55510] helo=mail-wm0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E2/A2-49805-78E797A5 for ; Tue, 06 Feb 2018 05:08:08 -0500 Received: by mail-wm0-f44.google.com with SMTP id 143so2586555wma.5 for ; Tue, 06 Feb 2018 02:08:07 -0800 (PST) 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; bh=9QbzBYtwtyqyBZxQ3GEY7/JwoZP+LH151tJO64eOPAw=; b=SFl5XEq6h+euELEdQjq860lsYegZ/7NmucFUOxXKJyNkKl+oInbfqg1A477TkI23ps WtLv1P6egiSu/NOSeXC36AgWktljE9j3xvYM9oeUcxjbCgwC8XRWV8WiedLw8tZEe2bO vN768Fb7BIiv2b7qMKZ5b1ECBiKbnIfoOHgvuOhFDrTjUeUkwFAM5u7q5nlnQH8f8/Ol kjnc9v7b5NZhfHIhfLQyLLxZIMVchL5nGss85dkxQ6bbrjvB5+y6Zje74hlTY/Iagl8N lYHVjeRMCmAh8T14X/OIr+1dcUCw46qb+MYXd8+BBGdQcXKRaUvs0JYzyAmRbHaVIUqf j/yw== 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; bh=9QbzBYtwtyqyBZxQ3GEY7/JwoZP+LH151tJO64eOPAw=; b=rjy3tcDmgIu5UUknsbTw7OmSmxjuF5ZvLGUxjlShTGz3KnwZL9G3n/wz4nG+w1Ie3i pOlQkA3JuLCa7rxB7YWVj7P3QldvC7/DGPev1EiR3NKs6w8tFfGxkPwvo+LMJmGvnNw7 T29bbEGJOfDx4UPWAt8PNCrtJ6BT/51PIiC91mBza7oMhz/QBFpj984OBfNBjwbMib9Y I/C+OXslFl1/64LFG3P1HR3pU9aihQzMoBdmN2JJSKSL8mGQCNs0F3oyJu9SyQFXxW2i ufWhRU1zs96fQu6PKf+VEhrid1SCp9XvE0Q0gMcJGmO1r8lcklQ6vYjAhtNocynzveup iv2w== X-Gm-Message-State: APf1xPASZlKiBvb5qRRkE//baSSnS5BfJN+dNQTwJ4GMf1WDP3rSt06/ NJ1s8CWxXUG1nMtMbrD6w8J8C5nwzQXcOWjAGBM= X-Google-Smtp-Source: AH8x224ONE32SBVA6UpP1kWLkc/QeGzo6MvZ8KlM1Ow4bvwG2WlsAIzsZYPiCzqBMTbDhlYxMzZqXnzDXiVvuKklAWU= X-Received: by 10.80.206.23 with SMTP id y23mr3091710edi.137.1517911684036; Tue, 06 Feb 2018 02:08:04 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.222.195 with HTTP; Tue, 6 Feb 2018 02:08:03 -0800 (PST) In-Reply-To: References: <07d9e3a0-d516-aa77-4818-ce8b02e8dd08@gmail.com> Date: Tue, 6 Feb 2018 10:08:03 +0000 Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary="94eb2c1af74aba3b420564885a38" Subject: Re: [PHP-DEV] [RFC][DISCUSSION] Deprecation of fallback to root scope From: rowan.collins@gmail.com (Rowan Collins) --94eb2c1af74aba3b420564885a38 Content-Type: text/plain; charset="UTF-8" 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. Regards, -- Rowan Collins [IMSoP] --94eb2c1af74aba3b420564885a38--