Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128307 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id F155E1A00BC for ; Tue, 29 Jul 2025 19:22:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1753816863; bh=3tw1FiZ1EaFSI4BvhthdE9250VN2i1RzacZJdSYbo8E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Byk0G1SfLyJfLdVItSqatjoTG4KHuVXorGtGaTMoUxch9IkPxZyCfB43OLXbND3W9 xSMBmzGzEKYgnGLO5N4mD+GmXQwRLblIBdVn9IG0rbXzuK6KYtYp3nL0+ZFpFbusim MT0Sp5eJ9u2xCZSb1lKjfcyHA0tIG3sbOwP9EB+dgTLUefR+Y8UHesUb+sVubrxUEq PQZpGgqk/lgCo6He1J6uGGVK1jBi4VSMGj2kJIklmBz9hO1JbMtgDkVyCfW5j+9bCf +y/3QthGWMX+MjbEFEgICVNgmS7FyIi737mDnz4P4+j2OMgnTO1VlGlTNZuGnwF/8a 6wWpl0BguQUCQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id BE2C218038A for ; Tue, 29 Jul 2025 19:21:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from sonic.asd.mail.yahoo.com (sonic304-23.consmr.mail.ir2.yahoo.com [77.238.179.148]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 29 Jul 2025 19:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1753816958; bh=KS8VSODoITbsHD62unaqsvYGlqma3X8kynE3WxVUHEU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=G7zfyWLTckRlQleRakw0u3I7jLnz4Bf7dAhB/oUHzl+b7tUzaDi8ryx0cRLXUp0ChYTL1dgxWtDxI9HV+h/jz3lobbwg2iRc582j4kR74ql6keL/iJZAAorJZQ0Y2gDWchxFVAJSOj+S/goOKkMyCKGNsplc9Ux1EOCTANHbMVf+J6ZrxUqGtZtCIEP2uqP6PmueNe5yLKBo6UurZXykAukaATM376aoOehcPrFajvhtWGXBsh2o4xWcyxrzrwwJsYiYxUzdiAG+MZJz6Ik3KPAYJfcipCi9ozZD+KZiOiAs68za2YPxEx5FItBZ3BDu3AM7mWQG17RO3VP1UfTLjQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1753816958; bh=S1oMWWuPyUR9p4GJ/1KAkVrN2GscLTZIVlzzmoR3IGB=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=o40Db7uCR65062r3XoZCbC9m0VUSVBMQ5UgCcPy3/VS28VLRKAUvg0pRUdLIj08XoU/6SOSQVOxi/t6UIOfB7KmQWVBYPrK29xgPDqkTbGsV0VzBZAjnQoMXU85+rX3wOJqhMp32R6DntwsYieNz+Wj4BIW50xPGeMRXBPqMSS6GHC6kIHSQ4r9zD3+gZdt3ZOOAqeKfP5WHKAqpB2NqabSEPUT5xCuVYoXJvUNTu2yBvnoG9h538g8Gx1nnR9Yj//RXR5S2FfkKjVS6/VELJh5k52vGN0KW+YokgAeftZCqdyxe/Tmku65prMNais1wmsyj2T6w4cayuo3nKN8cbA== X-YMail-OSG: AO4V_C8VM1kDujQVBFhJDx.37fjovNnBHWJdt_wO0f3DIcSfwsit0.Bl_F2BwHQ bpf_d2g4.av2WUumyBYsl72XZlEE5GdMEwICJIwl8X6Y0DVoHBeCobMuMvkObXZ8TTtYeGDdByE7 im2YMtpG7UZkVa3SPJR1ssY46wVKfsyEsspCg8yCT1YHRjc3bguWUYmBIsY9i7WLa.UD1x.5B9A2 OsYXV9Z7WN9odzfJ.D.o3NP0LNSzg0Mo9.5O1YdprqLpJlleHiY8ZfP0Czxb4YAz27bQBu.er1J. 31TOp9W28O.ooOiN5m1Fspn0p3sQTsYx6YaA.NY5gRcxm_UaqPyHQ2Z9s8z.Telw34_gUUKtpeiY X78dI_MagHEoxkhNTAt.FwNRpe1tGnDwXiEGsC5M9S4iwMuwlPW2IJinlh6rC6eAlokX2HDYRErs 9tQMeqVy3rYRhc6ds2WXfyLZQGkI7WARyWHrKKfVRYxyQOI0WqoEOOUGUIlurl7eq_.5.o7ije2p p44dfXbaIl_s9j0ThXsM_cuRnZAp02iRD5KTb6pAB2V1aoIKQmuBUL1D0xhU0mjp7QMhmUJ0m5XL NYCNP._utBuUuE.TLGGQ93Bzrj7tCy5SgcD9pDjHcAk56iFLO9HoAdRKpb2UxfmuETCH7gnxq1Bn ipotzDRou.xjNBi4TRtOl_Mp.A4Fm34U7.OH3PMTIT9Ke5CsK5OWYWuYP8QOAMbFbfJ1Aqg4nzoO pVulECHTRSz18.JJhfx1ZvAVyiF68PydzKl2eNBHn8KiqXfY14sx3mdjnNu9fDfmLhxSe_5YjTSG I_jejcAbtuPMU1PAVUnYxWstDZxlWaP69U79vQyxNJRXKkBitPADawvzbLIJD649OIB85RqP0dPA Aw2mWwoiq0hMlISR83IxOKWnk5nM3P3Ibanl_EYClhwoNCFAzozPa40oJFJzK1zOtZwYO5jiZScj 2wW3V1igi4K3oTCAyQKzg1bIZlw5pCrhqxO0_wpA3o1J7t4IJhdVHr86SO9FpnhVbfFkHxpVrPIF xtpneJLN0vmppL.zlxUjZ5Y9qbiKV7eH1bveFPaZc6Nbww7KTRel_nRAyW_U8VhUVu0cVaHEMW2j Smb8g7N8Zr_2RA5woOh7FVIv2mkkfrFUx4yXHww23jaaY1hFsX_olyyAcypL9q_Y.UETsKw40.Zj 9Byi..xYLMuB.TiV7z72NxstcS4HtyrZBfcX2rDjc8Af2zEJ1ecEKmJktzzKPTknIy78vzOxpY53 aNnLi3HDBZBwth2..8P02Ilf8xfJhpjxw3j91nQLqN70x6IwQSoAhKe4cJ5DRQYgMawt_4sK6lzb 2X1g3xtaRLBkTeEWg7sI7aYWcYB_1DFTQvWrJfvUxiXp3Y_mbWPTwNcURNrha.bGCfoWOOpvVA1F Cz0bgn1123UypUUc9mVk33Iwbwp3n6JqYzGv58w0dA8PH8TZMq65ZX3WxE78ny4o9nKxRQFTo.4J YSORIaf6h4iTJcVCWRiTS8CrnZyVtsAHqWQc0g_OAXPqSXR.aUIJ7hlx1ZJVc.2W7K54pOx6vsSy gaUCsUe1XkXlWxU2wEsVfd8x1xpOwfvE71GLXaZPA2V5EBjmkEDX.NgoTIjaz5BudKma0zl3SK_T iJA1apSE7fdUSGuq2ae3MFqUpYy6.MFqS_N36sfuoozUZZBEmbKSRP7IOzZW7IdZNe8Om2jAgMbO lKhD_2cqy9F61gqfCT7FkJZxtgc5pPWoqjPbYsY1._.MaIiDLVZsxChNwviKFpXiOLV8x7Z077cT cmIUt.jiwEC60nfiKbG1XIWcx4qaaK4s4_RE.wFeLKyWcY49C.NTK8sWf3PWbI6WyhvXAF4mC7h. 8m3g_xg9xgp15hofCbSgQcMgOlYmgLNzHVjI3S2oaCNhK8_F4N2FZKTwPHuU8iX.o.1VncyAKYzD nTTiJY4rF8YDQYLf7mR_TN7d4z1Pu5Yl6exh0LTSWiWXd0Hu.gir1RHCGJ89_crlcpJgpdJEkNOQ LvIuzDEde4o9sckWazrSRLgcuPST5h4wE6aEMirFUnC3Xa7puxDYnGMgwOABKNDp33vdf1nHtEC_ cXafaVhXzcSw8.FlgcAWhjGx3ZGcfHbjsmss2GNEoauHPYlMs3iDj1VTt9PDKFsAyva.OlVkTVD. SMCz8qKyrIqknifhxwOZMwsUCTxnNFGU7_AhfCmZrOj6vFtJtJqarRIOLnSebydzpLq6Ifi_lwHi .hlwMneugRQjBy_bw5vdbfH69O_1KnrsoTfgQ8idQYX5zaU_KmWCKqFnplX.Iu11dWO_4 X-Sonic-MF: X-Sonic-ID: 47424f13-8cce-422c-89e4-586dade1bb1b Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.ir2.yahoo.com with HTTP; Tue, 29 Jul 2025 19:22:38 +0000 Received: by hermes--production-ir2-858bd4ff7b-9r9sx (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 427544621b7711b6b0b0fb2ae82505d7; Tue, 29 Jul 2025 19:22:37 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Message-ID: <1753807300279.3679674018.1291915422@yahoo.de> To: larry@garfieldtech.com Cc: php internals Subject: Re: [PHP-DEV] [RFC] Deprecations for PHP 8.5 Date: Tue, 29 Jul 2025 19:22:36 +0000 In-Reply-To: <46e0c98a-2003-442c-9f8f-16c8fa0476f0@app.fastmail.com> References: <46e0c98a-2003-442c-9f8f-16c8fa0476f0@app.fastmail.com> X-Mailer: Vivaldi Mail User-Agent: Vivaldi Mail/7.5.3735.56 Content-Transfer-Encoding: quoted-printable Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 From: hanskrentel@yahoo.de (Hans Krentel) On Monday 14 July 2025 15:29:31 (+02:00), Larry Garfield wrote: > On Mon, Jul 14, 2025, at 5:36 AM, Derick Rethans wrote: > > On Thu, 3 Jul 2025, Jakub Zelenka wrote: > > > >> On Wed, Jul 2, 2025 at 10:00=E2=80=AFPM Gina P. Banyard wrote: > >>=20 > >> > It is this time of year again where we proposed a list of=20 > >> > deprecations to add in PHP 8.5: > >> > > >> > https://wiki.php.net/rfc/deprecations_php_8_5 > >> > >> Here are few notes on the ones that I don't agree with: > >>=20 > >> > Deprecate backticks as an alias for shell_exec > >>=20 > >> I think this might be too big BC break that might impact many = scripts=20 > >> - would be good to see also if it impacts OSS projects. I guess it=20 > >> will impact even more non public code bases. > > > > Indeed, I use this *all the time* in quick hacky shell scripts in PHP.= =20 > > Best practise? Definitely not. But it certainly is very useful. >=20 > Is their use for quick hacky scripts worth the cost of reserving a symbol= that could be repurposed for something else more generally useful in the = future? (Not immediately of course, but eventually.) >=20 > --Larry Garfield >=20 This sounds quite negative to me which it is not in my book, IMHO best to = have all three available in PHP, so you would have made the argument for me= to keep the symbol. And thinking: Symbol reuse could perhaps be possible already today with a prefix. The backticks operator evaluates to a string (or a primitive that could be = represented as a string), which is an interface to build upon. For example = a "tagging"-function: $result =3D shell`git describe --abbrev=3D0 --match=3Ddev* --tags = dev$ver^`; function shell($what, ...$not) : on_return_this_type_is_checked_by_the_script_interpreter { (random_int(0, 1)) and throw new Error('To Return Never when it's due'); =20 return rtrim(shell_exec(something_with($what, 'and', $not))); } This could also improve the current use, even immediately, and eventually = helps to think out of the box. $name =3D 'PHP-Parser'; $version =3D '5.5.0'; $hash =3D 'sha384-vyGSwY5XXGRpPplN6utmy1kOiFBeqy79G0BRG8CnfT8AvHx7TBb99= HFHkUEcXSs3'; $res =3D cas`https://github.com/nikic/{$name}/archive/v{$version}.tar.= gz#sri=3D{$hash}#`; String is the universal interface. My educated guess is that I don't need to explain the benefits of _template= literals_ over ordinary PHP string literals for Larry, but for those who = are curious, this is inspired by EcmaScript and you can try it out in your = browser or read on MDN about it. Not saying this should be the same syntax,= just going into the pink here. Maybe even recent ${'...'} vs. "{${'...'}}"= changes in interpolation opened up some room to come closer. Now if only those backticks would become an aspect of the tag over the = assignment so we could get "get hook semantics" on them at the time of = tagged-use: $untagged =3D `....`; $result1 =3D tagRed$untagged; $result2 =3D tagBlue$untagged; hmm... not entirely compatible with the current behaviour I'd guess, but = who knows, likely conflicts over conflicts in the LALR parser when we start= to tag $variable identifiers.=20 Just my 2 cents. -- hakre