Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:117763 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 86511 invoked from network); 22 May 2022 00:44:23 -0000 Received: from unknown (HELO localhost.localdomain) (76.75.200.58) by pb1.pair.com with SMTP; 22 May 2022 00:44:23 -0000 To: internals@lists.php.net References: Autocrypt: addr=ramsey@php.net; keydata= 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 Date: Sat, 21 May 2022 21:26:01 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="LkvVhfgTHM3dqo69dPSXkpkUeEml3B5Qt" X-Posted-By: 96.61.105.82 Subject: Re: Removal of ${} string interpolation in PHP 9 From: ramsey@php.net (Ben Ramsey) Message-ID: --LkvVhfgTHM3dqo69dPSXkpkUeEml3B5Qt Content-Type: multipart/mixed; boundary="M2izQdkwCBczTQ2VJxmcBcAkz5cFBnJMN"; protected-headers="v1" From: Ben Ramsey Newsgroups: php.internals Subject: Re: Removal of ${} string interpolation in PHP 9 References: In-Reply-To: --M2izQdkwCBczTQ2VJxmcBcAkz5cFBnJMN Content-Type: multipart/mixed; boundary="------------3884574EFC85F3AE833203C2" Content-Language: en-US This is a multi-part message in MIME format. --------------3884574EFC85F3AE833203C2 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 5/20/22 04:05, Ilija Tovilo wrote: > Hi everyone >=20 > It was pointed out to me that unfortunately the "Deprecate ${} string > interpolation" RFC didn't specify *how* the feature would be removed > in PHP 9. >=20 > https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation > https://github.com/php/php-src/issues/8501 >=20 > There are two approaches: >=20 > * Completely remove the syntax and make "${}" result in the literal str= ing "${}" > * Keep the syntax in the parser but throw an error >=20 > It's pretty clear to me that the latter is preferable for two reasons: >=20 > 1. People upgrading directly from <=3DPHP 8.1 to PHP 9.0 or people who > have not addressed the deprecations will still get an appropriate > compile-time error message instead of their code suddenly behaving > differently. > 2. We can reuse the syntax at some point without causing another BC bre= ak. >=20 > The only advantage of the former approach I can think of is easier (or > rather no) escaping of ${} in strings but this could also be a > drawback considering that it would become unclear what the original > intent of the code was (literal output or string interpolation). >=20 > So unless there are concerns I will amend that in the RFC. >=20 > Regards, > Ilija >=20 In my reading of the RFC, I assumed the first approach: completely=20 remove the syntax and make "${}" result in the literal string "${}". IMO, this is not an insignificant change to the RFC. I'd like to hear=20 from those who voted on the RFC before you make this change. Cheers, Ben --------------3884574EFC85F3AE833203C2 Content-Type: application/pgp-keys; name="OpenPGP_0xF9C39DC0B9698544.asc" Content-Transfer-Encoding: quoted-printable Content-Description: OpenPGP public key Content-Disposition: attachment; filename="OpenPGP_0xF9C39DC0B9698544.asc" -----BEGIN PGP PUBLIC KEY BLOCK----- xsFNBGCHQTYBEAC6IU9aXEpVuLJNAzXwL7q9Vt1PkxJHr7kJynUg/3ISrOdJy2Ebola7GbEdv= LZ6 9o+NbsL5vmOmT2AD0pEGfMgE9KWJ122iEfN4hrWThz+sHcVd/TKX9E98g+HTpoJGtYcp6jYxG= 0YR P7dn1zSn9CawVJpMsoS2G0JZB/q2lIELoPRLMjicRDBEfamTPi3vyYiuf4vvCcYYz3AEMYirt= 5f7 rBrVOs3FVBozEqrN2fPRWvFgTnhsQ8MEiq5/DMsnxFq2wgheAKPIAXhZiJFoKHsrpiAANEmGZ= BY2 pbW05rBY1ZmJpi1yCrSk582cdPo2Ca+NrNEPJ9spoEinAtApp/orirJYbjKViWqmh7mYYyv/N= AQK wGBE1up3tSGVj0rKG3f9seLvYsApHf0lhEQN/ypzC+pYDlSXzWxcQ8bifixb6XulaEgB5XOHw= uvp TK6HoNNdZM44Fl+B/eAXaebL6Vh0P1EN/2DBr4FGNb8vlXdvGxs7rJbJ8+aNmYeNIdg5qbYub= NsO 2fU7yw9kTDNTej63Ql1a0Md2wfZze8dZy6LJ/tL//IH3JPd0jvT1y0LVIKoYVrIfv06zolVpl= qi7 2zfec1kpw0VR6dT/LyhBlyNumqJMRHdZlX4pUCpx79pOonjHNTNuhjOPLlzai0ooWBtloDZfN= GoF RVNNJv/hGvVM+wARAQABzRtCZW4gUmFtc2V5IDxyYW1zZXlAcGhwLm5ldD7CwZQEEwEIAD4CG= wMF CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQ5tkE0PYwQSysUbcP5w53AuWmFRAUCYoZZgwUJC= J09 uAAKCRD5w53AuWmFRPRlD/0f0JsjsWCF4YziRpBe8LCs52o0VrtNMUW206Hza6CXI3AHLXHXe= CmY wU0LpEC3vssA6vatMhrPKnbzVXaERJ8JCu7HyHP7piYU5lnW6JY8NO8fjT85+9cS7IvMQ09dd= ypU noD0i+rX5Eg6p7+Cqx0CW+B2CXsfcIXJ81vykdNeW4h+g4nx0H00cOF6oXnJ3ojQn3WjTE0W9= Qz+ FEqyQBSJSCvM8ILiT9ImJykniJ1gQB4K6FHKy7nFAHQX6EHQER0KJ5ZJUNstasYdZuKorR9DH= lCu s16E2ABIFTGCSDduoBWjKAUXdff9Vh/KdodiHHnLGghQT1qSNY278/YfO+nCwujfYYWT2RX7G= eAQ XuCMOd3hIZYAXZuWmukkaG7YSiPKvPQ6CrsOaJP7RCv1mPUBc5Ew4YkB3cn7m6KY1VaWpGjWJ= iTB ekjZbuwXy7+cnP6R6+8+QQOuFilHeACSlhLTe57tiwJeI7Yb9t1JyfMdctHv2TNZua/f5XkUM= +Lh alxAWvGNPyKafDgZ0FjWo5jh6juOBOPwTl69PRWJtdoguS9lfE8S+h4FPpy0XrYLLBSFka/TV= 4Xp SE3Xyjoouqq2yz+rkK4xV5y5y6oCge9oElwmHRyxJ8LbJJKil7QeI82Jtjj4dE7LXzUXY2kt8= Hqb q80qeFJj+NooGceHBszafMJ1BBARCAAdFiEE6F0DEd36W6zzphDnsC2XmJyMBxsFAmCHUFQAC= gkQ sC2XmJyMBxthoQD/Z1kQW0eh8MKgFWD1YcPDzLtUSZd7VO4rlyBoH7DM4x0A/R+8H5mGaBXkK= YZH K/7U5dg/Le6MOdtX26SSvTRTQY1MwsGUBBMBCAA+FiEEObZBND2MEEsrFG3D+cOdwLlphUQFA= mCH QTYCGwMFCQa/Gu8FCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ+cOdwLlphUTMlhAAjvZwK= f2o Sr+1EH2f23TYI+AW0slUUEgkh9Z4JEtCy/a+apYZr16Gqw9PeN3TJOo2xXaFFOTO82etshBS0= dtE Cbak3PjvgKVwge6pt2TuDB/IQfDa9akS2JVMdskDVqpDKkGsKN18m3SzrnCDgdKmh1J6Uk4DS= yFY GEGFKBTiRS/Eko9NwXVQzmICOabw5UhAtR5kMsUwlXoUAeY4bQma8YyE+nUd3dh02DLKGUXUm= urH 8wr55EFdtdIAxFKYG5RxXmnXpuS3UJD+9Tk3CLcHYcWmy9rmPr/01mvhXmryLYN7gLIilePfV= +wq N+CzeTZKEgNSHqu/HKGQIerWOpzm9hKW2cX1sgSG38yffzctSgv68F6Nj9QhEpKFO3p4rqVyc= DFr +6Nvic2+g/5QYcKxNFw0r62i6MPFJgXWcjTMcYoKY1GYTKNboqnh42ymg2Sbx0DAZoS+C9U0z= kmj nMAj+LiME7XiUbupNWEfWtVQU5QMoz4cwPoB2I5KnZ1deZjldrg4wnypZs8RRA/+rMV1x5Av9= iOb NNA5qiuEB0H/ZQs+IHReFImm7PcdJ7Qm7PywFUKlpsBAeTz77J059ZFvuFHWjFLqomLZMiVPm= 85H pfy/iRxzGa+hBBudJ1VRMdKBun+J9UUhN6TxFt71o1Ge7iL406QqADezCDOWQlwp8MbOwU0EY= IdB NgEQANjT85q3ZvwQNw1Io8k13KtCUND43Z/JNurVc9OFN7l/edFPWN6lip+yL+Lj/qvNrYAy/= LE8 7sBBKwdiUFgfFxyoIfZD3SMJO7uJQnJTrkrHdpkLdTtUTj6OXzVbn9vmqqO9k1HEuANkOe87u= EEW Htv6OPvHUAGwd3Cr7NeOaDaYkIGwPhtrmNBo+v6eKu+Gv9jvjiYalpVZGWDt38uEvvcZHLnjo= OAJ V6OB3nq8yyLYcHLYEq2PEivad3bImfXb4DnJ6e5qA5WnJ7wXkPLtQsUnqJh7X82mhWfKKm/eb= SET gLTHW8jDy2JdHzlxvRoa5iCM6ATIsIT0g2YxDRll3UmpnArYjJaLLScM1UleqTNzdiNhlytiI= Fvx 1XuS8B/QT5SeIhhNi0FTas5YEzdpNPjsmHp+2yz+1Dh7Qct4dmm+lbAm2Q8dvWMYP/TyJxkfh= fJX EiUQyHOK4Bl0ENOvu/vFKao+vDj1p9aJd9E5XTWP3i0V28XjzAM4hveogEFuw112oy8c9NKGr= bAw eWfKVUUz/QImf/LF7MFy5B9FVZ4eDuVvNK3QcPb18HPsyXGg5J6yYkI36zChLLidnWeFY0cRp= GHf ZWfYfarjJrStkUQeTZ9LpZYExOHtyOKeaSVBXECEH3134RgJnhIe7vgC2zgu8Cx0nB7kj1uU4= ith 5zA3ABEBAAHCwXwEGAEIACYCGwwWIQQ5tkE0PYwQSysUbcP5w53AuWmFRAUCYoZZvAUJCJ2rb= wAK CRD5w53AuWmFREmyEACQh0nbEzsxXw8az543Y7T8FimIJ845zjZ/ACKphDOv1ZPcW0HqhKHrJ= to3 5FGAiR7VYL0fEi+PFdZq0mduzVTeLKMGbIe8wHE4LGwibuHLIsj9AHvAHux1Fvhl45tR7Jc6g= Apa KWPeva85O4L4r35b65bkePYfa2dQo69r0XxGOiRKQyIKkJWgZPVhaxbAoAtydAGKj8YLLMBFM= JDa 5cekfIA502uiEkElYPapPfQWT+Oc4YJvDQVVv55fnznjOiyLzE9YVQetSbNDMXCh6rXKyD3kW= nkv AK2isjSKVmUKeAUvWKPQ4DsiSllZl8JFiud7bol4yZNdID0ITLxTxiGHxnfok+iJ9/2wTTwN3= e+Z kDGGKOOnSnsfRikK7moIboAIhQqCirAdXtuORDr5meqzTZCLzAb6AxU4TqCaLD9KkgcTwQkyu= 2nc A6oLyFZ2eq0nwy/VpOV+Quft9eZ5bLRD67MlcsCqcHeFkg1dPmUjWPGOPJ1TtiVCI8coacn9u= IGr 4TAxxVDdSKu2MrZG+cUh2pygKGW5+w/ISj31WsHrIv60RvFtKA07BM1YS5VnTctU8f5avWyOn= 8Cj 9N7Fwsm4+C+NWQfGow2ckvaRScy9id7GnW+ahxIv9uqvQaGDmSoyX6ur+HCX/omWILmu4Einj= UWD sPQfC3QN4mJqFolP/g=3D=3D =3Db7/+ -----END PGP PUBLIC KEY BLOCK----- --------------3884574EFC85F3AE833203C2-- --M2izQdkwCBczTQ2VJxmcBcAkz5cFBnJMN-- --LkvVhfgTHM3dqo69dPSXkpkUeEml3B5Qt Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmKJnzkFAwAAAAAACgkQ+cOdwLlphURs HBAAr4KQU/0UGH1t3sN/qqkPkXyvVuBXFwGYOd+pixw5GBpSZSE46G8pyGyXKxqWnNYDMuCDzuRv ekOr0twbYs18/OO/vlThWKImko/AlfJEXXFyb3EOdWpj4l/Q6u/MbFz1VJeNXttks5OW5MDHbt83 I2Tufrc6CyfLwJ/A+vXY5UH9nuzOiIBKrZNBGDsqETzxhvhz/Ex5P8Ab1Mb8zmCBQSIZoxuRbqSo VqhmNh4OocimdAeZt6FfmyhyGaOlkYfP5bVVemESQyLUner2XONqY7D2nO3XnhKGwRAWN8bcobhZ O5fo/URQDoNjUApEWcAnsyXUeXdtcsbor+YXfxiGaiRACkFzTyrtXS45TdcI28qE0dC768f0moj7 L41Ch0FJsUxn981WCwj0UJrqKIVBWe5n4uHoIOZN9HN/I5AACCZgJmafFPs5UoZo6dT2xq+im0ga cOtRDshnVFWqpe/gYtijGZvlUFhPY6CV/IJlUcU7hGIRK2OqxfCvk3bqs26rDEbjqzoeKxc2WQ5Z JEE1LeG+JfR5ZaibPSosQG6at7DOGZhWxnArp+snDC+V+znuSfZup+sTu0AHEaC78YE99ZDHz9el AAJGCRWfUFThHAQ35OisX6rxheEBqXzkypN65xuZva4TVvmyGYWw3C98NMwoonlCWVoBZH3ZDyX2 ZYE= =n/OQ -----END PGP SIGNATURE----- --LkvVhfgTHM3dqo69dPSXkpkUeEml3B5Qt--