Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111079 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 56886 invoked from network); 20 Jul 2020 18:03:17 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 Jul 2020 18:03:17 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 83C7B180539 for ; Mon, 20 Jul 2020 09:57:14 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 20 Jul 2020 09:57:14 -0700 (PDT) Received: by mail-io1-f41.google.com with SMTP id q74so18385364iod.1 for ; Mon, 20 Jul 2020 09:57:13 -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; bh=jiw2iAvbcoAQTMonsYINBokl0LHPiZiOQy5ZizbrHww=; b=UiI9S/5B/AWPJL0MTDfqq8CGFFRwRdVo8N8Va8rEpJnq/YRq19cSfLirAerY1lnrGG XMfM0po75anP4b2BQUKToIeCkpDqHH45swc7RBf9y97AKEra1/f2ynlhu+g8fpBnexjn MjjDtsI+FMRiv7ZKa51j/qQWonr/Pb47oYCYV5BWkYCoQeujgBcqRqYa/ZAxiPBHnRNQ goJkaThLyxax6e6QGPimcmrhaI6/AuIt8sQsuXTuXome4N08hlW1EeIIvD2FHrpgBeeA Qlw7Nbdo17wdziavQ1SnyqEAKdAimh6KbW7T4acL2JHjQjzl4qO/88//S0Ekn3HoZTWC eODg== 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; bh=jiw2iAvbcoAQTMonsYINBokl0LHPiZiOQy5ZizbrHww=; b=S5NMCACVvckmv334C7nWHd/AAUcwsn4Q3syqanx3mA4FL4X6B9CEdNRU2ajaezKYiL Us0W7xgtHVOE+8cUtCxP8QIIjWR5j0as4VIMXli+luQ8hcFKdhWVZ8Gw84mdpVFZJa8I nURTl4EuFsi7NcC1RHR4SS/UeINKNxhfcQ1oAdCHuBUQ9zBx1HuT98t9F/IoQLfh51Iu PjWoAHogiszgdTX4Q5nirEFryvQgjmBo3iA2jMQqGULuOn4nru+iWzqsbVxR1IqbRzHd IscDd4/XeHvgMNw/56m+jLoj2mveNN012BzFgOw8EdT1g0XlN6XZ7gi+//Zztn4jG339 C94w== X-Gm-Message-State: AOAM531bFVLUygNiN8YAp1JWAcHv3cWDkzkGMo6ITjpy1RifJF9OMWPd OIrfCKi1d1UgdKAVice84ybCGvog8n36ICL0p5ykeMxf X-Google-Smtp-Source: ABdhPJxYzQBGx6cShtYpkyBWIg7m2KiZDjprZJkxWlHLRpdGY3Xg/T/BCPvLnM08BL0G3tsGzV0OoPjyNLN5m3jFrqQ= X-Received: by 2002:a05:6638:1308:: with SMTP id r8mr17897491jad.106.1595264232825; Mon, 20 Jul 2020 09:57:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 20 Jul 2020 17:57:01 +0100 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="000000000000eba87c05aae2651b" Subject: Re: [PHP-DEV] [VOTE] Named arguments From: rowan.collins@gmail.com (Rowan Tommins) --000000000000eba87c05aae2651b Content-Type: text/plain; charset="UTF-8" On Fri, 10 Jul 2020 at 09:42, Nikita Popov wrote: > Hi internals, > > I have opened voting on the named arguments RFC: > https://wiki.php.net/rfc/named_params > I see this vote is currently running close to the super-majority threshold. To those of you whose main concern is the need for libraries to consider backwards compatibility of parameter names, I wanted to point to Symfony's "compatibility promise" [1] and in particular the general disclaimer on anything marked "@internal". There will always be ways to use a library which the author didn't intend; it would be quite reasonable for a library author to say "I do not promise that calling these methods with named parameters will not break". [1] https://symfony.com/doc/current/contributing/code/bc.html To those of you who feel there are better ways to design APIs to avoid ever needing to skip parameters, it would be great to see some ideas to make those alternatives easier. For instance, if you think parameter objects plus the builder pattern is the right way to go, how can we reduce the boilerplate currently required to define the builder class? Regards, -- Rowan Tommins [IMSoP] --000000000000eba87c05aae2651b--