Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:91490 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 37834 invoked from network); 3 Mar 2016 17:50:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Mar 2016 17:50:02 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wm0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:35882] helo=mail-wm0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id EB/05-08749-94978D65 for ; Thu, 03 Mar 2016 12:50:02 -0500 Received: by mail-wm0-f41.google.com with SMTP id n186so792907wmn.1 for ; Thu, 03 Mar 2016 09:50:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to; bh=x6UAXxc4LRrlYZC3UQbLlGbFQ/hbBv0mTX7R9H7V92A=; b=pWYOJdKt/A+hQuNkDx23EfZMKIToEbGaGVHhEa39jyKfyvwPvviMDyzR7juFjfowNt tRsQOWyUJKrb4xpX3BmYkaH0aQB3g40cl5h0C1Fl1+FfShrBmpzyqDAn9mgAE6CLhyg0 os4CYqaZnbI9wMyTJKORDisTKNvrqnBLb8BLcXCOFDI+96QaTlsBoc6IPKVMA6SgIesz N10wmScQCxJ//jvv7xX3TogSK46NxV/asYTt+e3VnSkDuPGwoA8gSCi1ZP7nH2my0nHE uX0GVGUcRsnf8kiGIFjPAGNCzVX+x86Z9ZJmsyJqe6XE2rb0nsB7mVonWtpqpHsoE9ed FO6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=x6UAXxc4LRrlYZC3UQbLlGbFQ/hbBv0mTX7R9H7V92A=; b=mYq3O7Rw/dShUON6xpHW7Hw0TKWwPWXrytkK6TkEY55KgTvc2l0wodUNzpg6li4B6/ nIM2PoQoiPsY76k5augtfJbrlX+6Mrm2aRhTyl8hEcZ+7ASQZXcubjGTpZZBTarHxgUE 6YUyxXk+NvAja42IB5NJSMSob+8BG5SJWviyFrU9y/nwCFQtK64vJ9XiwV4iLqT1hV14 ELUq1QMa0rkKJh2spaP1Gn/dCAmoXxQ3gE75hYV39swUNLb83XLVEF9UBw9Y1va/Zb92 TaEihncrDicqDNS/h3hugjxTpIXZIR/Vc8QaWCe8KnQbr9SG+DdbJhBvTGHdLFL/k6kP Xolg== X-Gm-Message-State: AD7BkJJUvC2TjW4k0OJikFlqUTMQPE/NJs17ZjcqA2+fRIzW8rQeDzEPPQ0gvp+KGAjxZA== X-Received: by 10.194.174.134 with SMTP id bs6mr4267094wjc.111.1457027398889; Thu, 03 Mar 2016 09:49:58 -0800 (PST) Received: from [192.168.0.141] ([93.188.182.58]) by smtp.googlemail.com with ESMTPSA id za6sm41669849wjc.18.2016.03.03.09.49.57 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 03 Mar 2016 09:49:57 -0800 (PST) To: internals@lists.php.net References: <1F.91.55238.41F10D65@pb1.pair.com> <56D42CD3.6020602@gmail.com> <56D57DF4.8000906@gmail.com> <56D5D2AD.6070805@gmail.com> <56D5DDA6.4080607@fleshgrinder.com> <40.73.36499.548B6D65@pb1.pair.com> <56D6BBD0.5010505@gmail.com> <56D73386.3000903@fleshgrinder.com> <86.68.21983.A2508D65@pb1.pair.com> <56D86C00.6000904@fleshgrinder.com> <56D870FC.80205@gmail.com> <56D8752A.9040307@fleshgrinder.com> Message-ID: <56D878E9.3060907@gmail.com> Date: Thu, 3 Mar 2016 17:48:25 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56D8752A.9040307@fleshgrinder.com> Content-Type: multipart/alternative; boundary="------------050304020406080709050600" Subject: Re: [PHP-DEV] [RFC Proposal] var keyword deprecation/removal From: rowan.collins@gmail.com (Rowan Collins) --------------050304020406080709050600 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Fleshgrinder wrote on 03/03/2016 17:32: >> If there were some way of preventing users writing var in*new* code, I >> >would be all for it - there is no advantage to doing so, and it adds no >> >value to have two ways of writing "public". But there is no way for the >> >engine to distinguish new code from "legacy" code which already contains >> >the keyword. If someone can come up with a clean mechanism for doing >> >that (and in particular, for new code to say "I'm including this legacy >> >library which I will replace with modern code shortly, don't bother >> >telling me how many deprecated features it uses"), then I would be very >> >interested. > I always thought that E_STRICT is exactly that. I mean, an upgrade path > like ... There's a subtle distinction which I may not have explained very well. What I want is the ability to *selectively* ignore these warnings. For instance, if I write: namespace \Foo\Bar\Baz; class AwesomenessFactory implements ArrayAccess { var $something; } ... then I would be happy to see a notice that I'd used the wrong keyword. But if I write: # TODO Replace dependency with modern equivalent include 'Ancient/PEAR/Library.php'; ... then I don't want to see 500 notices that the library I'm about to replace has old-fashioned code in it. The same is true if I am actually maintaining the included library, and have a rewrite in the works which I am confident will supersede the current stable version long before the next major version of PHP. It's not about whether those notices are there for 6 years or 9 years, or which E_* constant they appear under, it's about granularity of which ones shout at me. Regards, -- Rowan Collins [IMSoP] --------------050304020406080709050600--