Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120147 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 87217 invoked from network); 27 Apr 2023 22:49:11 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 27 Apr 2023 22:49:11 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8025C180382 for ; Thu, 27 Apr 2023 15:49:10 -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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,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-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 27 Apr 2023 15:49:09 -0700 (PDT) Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-555c8a12b26so105580967b3.0 for ; Thu, 27 Apr 2023 15:49:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682635749; x=1685227749; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=v03JdcHywTVAVQ+yLTD1CRC4gh43p3m2f1sXieUQiMA=; b=DiXcF3SNe5v43KBp6e6X1pE3qFt3CBN7I4tq8s0kGXnxHdUr8R2pkeCh2PbeQvj1Jv IrYEUbBnuqTRP7wF0Hk4iHbG2yZqRhBejV+GRqze/kwgbiBSQMyzeubrUg49rLAPBhZd BEa8xAD1svcrm6CodSpaZ84SOeYc1W5zkTLoRntBx9b2JPrkx+7EOOfuQ9HPgV4uXFmX DSNvY2LEHeZ79T2DLhxJjnvO0UvMr0uTmdt/7V8ZnKsEPBRwyYH7eW0Y5/8hifPgd2+M zF8BMjjXkn6QcjPoVZKSIODNBUc2dmekPbSsUfNSDvxeWxskBxSYzURXx7NUAWCzuKbV sbag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682635749; x=1685227749; h=content-transfer-encoding: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=v03JdcHywTVAVQ+yLTD1CRC4gh43p3m2f1sXieUQiMA=; b=EMgQO8xDDMixvFA/Tt6mHjBPMAM0T+ppZt5/w1OU57A98hZM/qIxH8tZ8nV4aNJQHM QUk+daKd1xY5IOHGEUPdanF0kQE054YpZZjyVeIuLdZfI1U0RGVNRjPyARcstJiSS1Oa /DbzJpJQeU0pM59ROsd4LYmS+zzPSGk3oH6cmV386H2bBGTYS5sU67w3L9PtI8+/3Ygr 47U1mROwJagCXWLVwUdK6zQATP/5+hj01ZsPlafe4EVSE4zwCWxa5FVvhpJMbV3w+P8r tvl97DDvwk+64SuHV+lqxmT4OpvVWdciYDT6JoLHiXY96ObMChVGXofSaMaejqLcmJcO uItg== X-Gm-Message-State: AC+VfDz9XLkUcbBmkhBDK7D8Wy9JpjwfLaWhO6uXL/2Sc+mBIfg46F5p oeuFgjxuUuN//nrKMeH7y0xGxFSn4VarWGqEyUA= X-Google-Smtp-Source: ACHHUZ7OemArYKvwpS4UBmtZuvOMyXgzw1VxvOjog1zs/xAqUdDVAg5pX1nScMN9n2bM3XpKHfLm0uubTVXnchrB1jQ= X-Received: by 2002:a81:6782:0:b0:54f:752e:9e7e with SMTP id b124-20020a816782000000b0054f752e9e7emr2370826ywc.29.1682635749010; Thu, 27 Apr 2023 15:49:09 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 27 Apr 2023 23:48:57 +0100 Message-ID: To: =?UTF-8?B?TcOhdMOpIEtvY3Npcw==?= Cc: PHP Internals List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] [Discussion] Deprecate functions with overloaded signatures From: tekiela246@gmail.com (Kamil Tekiela) Hi M=C3=A1t=C3=A9, I agree with this proposal, and I will be voting yes. The function overloads are not a big issue for PHP developers, and some are very much in use, but the reasons you listed are convincing and the manner in which you propose to do it should create an easy upgrade path. I think one year of deprecation is not enough. I believe the functions that get replacements should be deprecated immediately in PHP 8.3 to give people two years of deprecation notice. It doesn't make sense to me to add a replacement but not deprecate the old variant. `($rm =3D new ReflectionMethod(explode(=E2=80=9C::=E2=80=9D, $string));) ` = I think you forgot a splat operator here. ReflectionProperty::setValue could have an alternative called ReflectionProperty::setStaticValue. Then there would be no need for the unused parameter anymore. The overload of array_keys should be replaced with a new function array_search_all. This overload is little known and very confusing. The overload of ldap_exop should just be deprecated. An alternative already exists and is the preferred way. I wasn't aware that pg_execute has an overload apart from the default connection one. Could you explain what that overload is? stream_context_set_option should get alternative stream_context_set_option_array. What is the last item in Future scope supposed to be, because I think ReflectionProperty is a typo. Why is implode() not mentioned in this RFC? Regards, Kamil