Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120635 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 37892 invoked from network); 20 Jun 2023 06:26:21 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 Jun 2023 06:26:21 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A422E180209 for ; Mon, 19 Jun 2023 23:26:16 -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-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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, 19 Jun 2023 23:26:16 -0700 (PDT) Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-3110ab7110aso4287255f8f.3 for ; Mon, 19 Jun 2023 23:26:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687242374; x=1689834374; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=spmWPc4Waz3RZQWL/LNRKUziv7IlR8qd7JBxbQSmYes=; b=DEo+P5/djeVthkiKQpn8xgCH0b6ZVzXlXZWBCxRDCwTTMhb4mlj1Rg2ijgVEPcrmkO pDNq2a/R4mkI2E26YobE0LEbubPSav2tplWViD0bQKEhLmbYlmdD9JRM81EoNlPlYZPp 6G8I9nsBRyj47anxR1vJifkS/83BJr9t4UKr3vdjW7O/tsTuVNSUrmOCP8NMl/XUmkAw r4NzQy/Sc+3yw8LyXUBRk2GWL7JJveHZrp3P2WLWZB71KSFT/feuuaypkRNt0/QJSpfA CkKUxOlXseDG+CTK8G1ZuTDPN5FQ34ewYOu+YLD9kxRDrwaMNInsRFEnZ/naXwvUQvaM I3yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687242374; x=1689834374; h=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=spmWPc4Waz3RZQWL/LNRKUziv7IlR8qd7JBxbQSmYes=; b=DHRUBZZmxLJRwsXUI9e2vQweT457/Xr4by+wGKdAMQdQ/9JfDteN45rxrr1PDPCuYe yq608l/4jzRDg6Wc0qR8ABev2N/hEhKREobfyMHD2tvG5NvFCWGsNpqq1afqhKXfQBTA +mor8EaqG8EnVFpdNNDoBWQQFLLA38j5bOBiG74B+5WYl7yzs/bp0J8HFoGY6XUt7p65 7F6vg3uPrfL2EbbP2L04pWERaFhUNylWTfCbdBrn4fTCsUpCSoko4NzaJXxV+hlj3Hud EIIBZDGOj2xSjZOJAEY4Jcs6gad/xNWvXs5XOt/H5hWdgbNVmLhYEOBV+3ScRA+ZQ6zr SN4w== X-Gm-Message-State: AC+VfDwrZNsrCusrAOIGWCuUFbxKcbpKKiWLuA/sCXnPwA0fimUVdovZ ZtgZOzckA/H2x8DnEuL1LDMkmGcWCFJodzhZT0Tj6eflyAt5UQ== X-Google-Smtp-Source: ACHHUZ7kbLsVTAE5DoBLd9xv9Cn8B5VVpJfi5gZ9cJ9utBNX0OsCdNopkR1gMkaAL+JorM719wr1uQ3z/PFOtMa8FLM= X-Received: by 2002:adf:ea8b:0:b0:2f8:3225:2bc2 with SMTP id s11-20020adfea8b000000b002f832252bc2mr8975197wrm.41.1687242374197; Mon, 19 Jun 2023 23:26:14 -0700 (PDT) MIME-Version: 1.0 References: <108411AD-DBC4-4436-8190-7569B7A0805F@gmail.com> In-Reply-To: Date: Tue, 20 Jun 2023 08:26:00 +0200 Message-ID: To: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000005d355905fe89baf4" Subject: Re: Fwd: [PHP-DEV] [RFC] [Discussion] Deprecate functions with overloaded signatures From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --0000000000005d355905fe89baf4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Le lun. 19 juin 2023 =C3=A0 22:33, Rowan Tommins = a =C3=A9crit : > On 19/06/2023 21:17, Nicolas Grekas wrote: > > I think we must account for a bit of history/legacy on the topic. > > I think session_set_save_handler(SessionHandlerInterface) is the best > BC/FC > > path we can provide. > > > Can you elaborate? The SessionHandlerInterface is the *newer* of the two > current signatures, so what does making it the preferred signature (with > users of the other having to change their code) have to do with > "history/legacy"? Sure : SessionHandlerInterface is around 5.4. It's been there since long enough to not care about this aspect when considering both signatures. In my experience, supporting 3 major versions is way enough: previous major, current major and next major. Which means 7+8+9 in this case. It's enough because an app that runs on < 5.4 doesn't need to prepare to move to 9. It first has many more steps to do. Then, among both options, we need to select the one with the best future proofness, and that's definitely the OOP one to me, because it comes with more guarantees (type checks). By doing so, we allow apps that are still on 7 but are also actively planning to upgrade to 8+ to make the future-proof choice of choosing SessionHandlerInterface. Nicolas --0000000000005d355905fe89baf4--