Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120732 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 15672 invoked from network); 3 Jul 2023 11:32:48 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 3 Jul 2023 11:32:48 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 563CF1804F2 for ; Mon, 3 Jul 2023 04:32:46 -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, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 3 Jul 2023 04:32:45 -0700 (PDT) Received: by mail-yb1-f179.google.com with SMTP id 3f1490d57ef6-c1061f0c282so4865823276.1 for ; Mon, 03 Jul 2023 04:32:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688383965; x=1690975965; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Dd3qX/rL4N5aOkhi1MZ9VudS/q43GUwMQVXnAQFUCGI=; b=BMzzTK1to3o8hvjIvMIOYiXFZvowGTUAZq/CkcAijfJFJUZuunaHBmQ102+vvoEh3F vgEVQXoSZxAxaNPSUqjVg8YDlGZH+/gpb059K0IG6B7f8XMIaTbNmT19HglLltAMIhsX HMYsJUnDQmOAl1t1INy6uZPZIegZzaS6cMTFNDgSS1cp78a+YJqNL5mwiit2lXd6q0Ty pigpKI7lGl4mtNaAzDftb7Zxo8gCyEqP84gdaotMb6rM7agx9JHqVFZ9yvPlnIvzpNzP SW1s+Pkv53mCUL0jZnZ7wfpxU9j+dSOVkCLa6AFL73gvO04w1OAbDlLGYXpnFvMipvX7 ZoyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688383965; x=1690975965; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Dd3qX/rL4N5aOkhi1MZ9VudS/q43GUwMQVXnAQFUCGI=; b=LPeekjxvPHrydG4E5qMt/dwG/HuHWCRWvyS5uIdXtVDsbZa2z1jsveYhLHS0VI1Kxf QOEKPYV11qLyiY2609E64r3/KOw8wlU63zsmHEHHi7eEg/76IZ5hXHc2al/+M8auBYee v5ZMudqp58qQr5fEKORt4p3OsYyX29jI849fTaoRcBY5pfqV2M3WwNhEtzLZslvB9tMm +Jq8Wf8H5uw5xUUW7TcYGs/xmxEALQqtdi8j6yYBPgu2HQwHYLIVCjr49LHEJ6cn/cTF bevZN8WQsPC/S7aTFRhyDDGioyA1yArg2hhlRvKsmghY476g9kwRiVAvpS2NB3ShRuqe P8Xw== X-Gm-Message-State: ABy/qLa4WTMPD2Lc+USAWfnboTUxsaJ8XDxzqeqIYuQYiZpPV3MAiVxx Dj4FsvusivDxkd0AD4ryvJcs3JJDajQjagafBrgGuQxldZx2xKY9 X-Google-Smtp-Source: APBJJlGWHQd0uYTF+sqv9KYOjWzwB/qQhcz20Y97fe2HjXCmn4WdDBZYaU2ThTJVxhg9Rb1mFDMLNzVA6nFytY+j/24= X-Received: by 2002:a25:278a:0:b0:bcf:b219:7919 with SMTP id n132-20020a25278a000000b00bcfb2197919mr9112135ybn.44.1688383965103; Mon, 03 Jul 2023 04:32:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 3 Jul 2023 13:32:33 +0200 Message-ID: To: Levi Morrison Cc: internals Content-Type: multipart/alternative; boundary="0000000000007c09fd05ff9386b7" Subject: Re: [PHP-DEV] [VOTE] Interface Default Methods From: michal.brzuchalski@gmail.com (=?UTF-8?Q?Micha=C5=82_Marcin_Brzuchalski?=) --0000000000007c09fd05ff9386b7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Levi, pon., 3 lip 2023 o 02:11 Levi Morrison napisa=C5= =82(a): > Chatter on the [Interface Default Methods RFC][1] has been quiet for > the past 6 days, and the feature freeze deadline is fast approaching > for PHP 8.3, so I'm moving this to vote. It'll be open for two weeks > as usual. > > Thanks to everyone who discussed weaknesses in the RFC during the > discussion phase. > > [1]: https://wiki.php.net/rfc/interface-default-methods I voted "yes", my personal use case waits for this feature. My use case example: https://gist.github.com/brzuchal/89e9481bbd34a6ce3d95a68eabff038b With interface default methods I'd no longer need traits that implement a single or in rare cases 2 methods that use their respective methods returning objects and iterate in Generator fashion over a paginated result set. This is not an issue if there is one implementation of the interface but when I decorate to apply some: * caching * logging * failover then the trait has to be attached to every class besides that it has to exist which is an additional symbol here. Cheers, Micha=C5=82 Marcin Brzuchalski --0000000000007c09fd05ff9386b7--