Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106966 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 39803 invoked from network); 12 Sep 2019 17:22:56 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 17:22:56 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 030A22D08EE for ; Thu, 12 Sep 2019 07:58:51 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Virus: No Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com [IPv6:2607:f8b0:4864:20::d2b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Thu, 12 Sep 2019 07:58:50 -0700 (PDT) Received: by mail-io1-xd2b.google.com with SMTP id f12so55313546iog.12 for ; Thu, 12 Sep 2019 07:58:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EsOyNlhfrlKABiWfsjRyAxaoWMZRf+kOo6OqNvBKXC4=; b=WCK8TfHfxx1TFz6H8q2VHroUbMYcP7yyaTR1SmUTv/3DvFqFPwq1RZmk+y+A6/CNGx UHjAQ0UbjnjVnT2zDBWWHJqiqvjiUzngP8t27g0eptsmdqd0NYpET/sqQ5NvAppEcIpv fEMi5lrQ81VB1KDzL2HnNrXDKc2pZO42e8YmSaMd9hmfA6JaNfU3KZ6n35klPrhGr0ah yfP7cxev7p2arLgNozaDMV5L7ox4zLcU51f+gWGyZOlzqiRqlF23OXBdghPSWQ5yCxwg aa7i7Qxs4AnbwhKj9NMRiM0fhvKZf/T+RyG7SDYoehMETAcER3cobJ4EWRQQ3TX3/FA6 l0vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EsOyNlhfrlKABiWfsjRyAxaoWMZRf+kOo6OqNvBKXC4=; b=FnnFViq5kZfa2ehogfnkiiQiXdRKJg6StQnxAfSFK+Im2hakHRCIyi+4rrT9oD4bRG ouV8Wb8bcdeUoshPS/UwUatjGyx0zysBOb6r+Sw1ZbsfQ9M6sWEKorALiw4h9jxUPFnI 3kJ8hYKUweqQ03K8JtIclDq0RS2tU7NeGteyQ+PuiRoorduzdJdRUAc182eXTi6VpT4Q gCahP7ec5ziGbRtuHJ81n2EB/eGEgIS1Qno5n+IrMb2suH2clGj66ym2AGbczSQ7oncI 65ZFh4FAk1x66V0ToFgoJ/DEaQhYGPjAULLeWLz0i+rOiBvmx9d3jJYEQj/fc5X6Vspf d6Vw== X-Gm-Message-State: APjAAAV3S+MV18RIncX6kfzOSd3zp9fFYdG1LvMMJL3buvxoUYVwuQAj 1WYmS+fAcpBR0dfvmKPc0VJPbMeIdwWxmg8MucYt/1L3wOQ= X-Google-Smtp-Source: APXvYqyrlGN9Z9TZl6w03JR4LQqdLQM11sK5LAsKAhYRm5WnH1deIjnqUus/87zDQBHDhcn/BYhHYYnkgTDotaFN6Jk= X-Received: by 2002:a02:c7c8:: with SMTP id s8mr44913099jao.121.1568300328461; Thu, 12 Sep 2019 07:58:48 -0700 (PDT) MIME-Version: 1.0 References: <076701d56978$86020910$92061b30$@php.net> In-Reply-To: <076701d56978$86020910$92061b30$@php.net> Date: Thu, 12 Sep 2019 16:58:36 +0200 Message-ID: To: Zeev Suraski Cc: PHP Internals List Content-Type: multipart/alternative; boundary="000000000000faa9e905925c5f4e" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: ocramius@gmail.com (Marco Pivetta) --000000000000faa9e905925c5f4e Content-Type: text/plain; charset="UTF-8" Hi Zeev, On Thu, Sep 12, 2019 at 4:44 PM Zeev Suraski wrote: > I was really really hoping that we will avert having to dive into this and > instead go for the alternative solution that was proposed of changing > default php.ini error levels. But since the RFC went on to a vote - we > need > to make something clear. > > > > The RFC process was never, ever meant to handle fundamental changes to the > language. It was meant to deal predominantly with additions to the > language, as can be inferred from numerous parts in the phrasing. As I > mentioned in the past - it wasn't even intended to deal with simpler > deprecations, but it appears that the cat is out of the bag on this one. > However, the fact the cat is out, doesn't mean we'll let a tiger waltz out > of the same bag. Using the RFC to deprecate fundamental behaviors of the > language - such as how the language deals with undefined variables - is > simply off the table. > > > > You may be wondering, in that case, what processes do we have to deal with > such changes then? The answer is simple. We don't. We don't have to have > them either - the fundamental language behaviors are here to stay. > > Deprecating the ability to rely on the expected default value of > uninitialized variables falls squarely in that category. > > > > Reclassifying a notice to a warning is a possibility - people's code will > still run, and they'll be able to continue using these behaviors going > forward as well if they want to (perhaps with minor tweaks to error > reporting levels). Turning a notice to an error isn't reclassifying an > error level. It's deprecating a behavior - and we're not talking about > some > esoteric extension, but a documented, well-defined, fundamental behavior of > the language for over two decades. The fact many of you think it's > horrible > does not change that. Deprecating such fundamentals is simply outside of > the mandate of internals@, regardless of whatever majority appears to > exist > in favor of it at a given time. > > > > Similarly - adding typed variables - is certainly a future option. > Changing > PHP to require typed variables (without opting in) - is well outside of the > internals@ mandate. > > > > For areas like that - our options are either doing nothing, or providing > opt-in mechanisms to cater to stricter-loving audiences. I'm all for the > 2nd option, but there is no 3rd. > If you want to have an authoritative say on what the RFC process is for or not, please start a new RFC about it: your mail is just straight out inappropriate. Marco Pivetta http://twitter.com/Ocramius http://ocramius.github.com/ --000000000000faa9e905925c5f4e--