Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130179 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 62F161A00BC for ; Thu, 26 Feb 2026 21:55:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1772142957; bh=NgBUBjZBApi24mjk3MAV+JEWYRIgoj3KqZ9QPXpyfKs=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From; b=SJb1I0X+bEe7QHzCPuRPEEosgw1QYxUQLmtfK7Ck9Gk4wkvr4Az+iBbQaRNTYkczr lUEet8wpXgb71LxE4nbLcLkzGlMbe4d9MPctiwdEE3E7Ug1HUgu9nhcF5RCXMmRSIv eMrSnMbYbW4SSdAIZSeevPDV5qW5sqqdWQ7vkSrExhizqq4NJHcvzOoiSDb+xvkHdY TWRZA4UYhyesU142+3+Q77/GuDSEr0GUv34ORZYX1zI2SJBa0ck8UWqCW40wtacKkr ljqbtYbDp/GPrLk7DCLNox+kKd9qlhe7fvV/wOiYUFrz9oGLWNmdw9Iy4v6VnMlrPr XSbkdfI3bZEnw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 1302D180048 for ; Thu, 26 Feb 2026 21:55:57 +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=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from outbound.st.icloud.com (p-east2-cluster1-host4-snip4-10.eps.apple.com [57.103.76.23]) (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 ; Thu, 26 Feb 2026 21:55:56 +0000 (UTC) Received: from outbound.st.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-east-1a-60-percent-14 (Postfix) with ESMTPS id 6DD5B18001A8; Thu, 26 Feb 2026 21:55:50 +0000 (UTC) Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=me.com; s=1a1hai; t=1772142951; x=1774734951; bh=NgBUBjZBApi24mjk3MAV+JEWYRIgoj3KqZ9QPXpyfKs=; h=Date:From:To:Message-ID:Subject:MIME-Version:Content-Type:x-icloud-hme; b=NCaaAyz9BpY1pVRSyChJ72cPNw4jknaHxmaH21pE2FqpxdcyHPcKXRkRil598pVKWV+RaK1cZU+pV58scrDKFng68Yt4UuTrLvPRFX1BWQMJIH1ogICZUI72Wk7Xa8cue6ICuN72RecBowwM0arz8XIBEX33CN3YBy7Tfqrpr1DwT6JBppbY0EGs2P5Xb8jqsJTzYiURmKYMNrFRX/nA5mxzKovIt2xHtrfkV1YTPgtM1LH3Ls0untFzjpRt2+k4p04JWjNGe9350lKqLVOIg3WyjpQr1+0r60fS/feGS7GEn1Twu1wP2QselpiRudEVuYp9o2A82aWPZy3Aph2s0w== Received: from [192.168.1.170] (unknown [17.42.251.67]) by p00-icloudmta-asmtp-us-east-1a-60-percent-14 (Postfix) with ESMTPSA id 892941800261; Thu, 26 Feb 2026 21:55:49 +0000 (UTC) Date: Thu, 26 Feb 2026 22:55:39 +0100 To: Ayesh Karunaratne Cc: internals@lists.php.net Message-ID: <7a599aa0-c2ce-43e2-a716-b203e7718052@Spark> In-Reply-To: References: <29443058-75fa-4c36-80cc-3b3a80e0057b@Spark> Subject: Re: [PHP-DEV] [RFC IDEA] Deprecate legacy type alias functions X-Readdle-Message-ID: 7a599aa0-c2ce-43e2-a716-b203e7718052@Spark Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="69a0c163_39afba44_13b3e" X-Proofpoint-GUID: PrHurKeYsr7wjHUyNdPAdT65GY9aDRaD X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI2MDIwMCBTYWx0ZWRfX5cFaI561V7va z3cZGs7rVKors7Bn681f5Lgi6zaiG1jmGnMwv4OGueW5a2jO4PI+BWNw0/vT/2ntaZMKuWK5YTl 1I/Vw4NCAvGr79BlGyqZdz7QJ+PfWIs3jxAXRhfnt8MVl5Y5ZekPzhTae3QdJqeC9pSmveocuON TLjOLn6xS/Ei45hx6+iMzwlYbk6ZN3OQE8r+CJzS1rfkie6NoCMWKOhuIqHaOOF7E8BHXMj1b5n BMZpng+jMq6n4skcbeSZGw4M/b5Jk+OKm6AQXFNpTeHVn8Fy0qY49g/mVkyxLeh+MJIgpBoZguv iLi5bjOBaNDY4Fk4YMC18tvni4vEIQx/c451JCHEul8yFnXU4Tow5e/eMbB9zM= X-Proofpoint-ORIG-GUID: PrHurKeYsr7wjHUyNdPAdT65GY9aDRaD X-Authority-Info-Out: v=2.4 cv=CasFJbrl c=1 sm=1 tr=0 ts=69a0c166 cx=c_apl:c_apl_out:c_pps a=YrL12D//S6tul8v/L+6tKg==:117 a=YrL12D//S6tul8v/L+6tKg==:17 a=HzLeVaNsDn8A:10 a=x7bEGLp0ZPQA:10 a=xKl34KcbpAAA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=jpgJvxQ_L4dhNiGZo9kA:9 a=QEXdDO2ut3YA:10 a=SSmOFEACAAAA:8 a=2gHLdO1DV2NHvRHpDw8A:9 a=JiSJ34QF-7q9kEO_:21 a=_W_S_7VecoQA:10 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-26_03,2026-02-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 adultscore=0 lowpriorityscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 phishscore=0 spamscore=0 clxscore=1011 bulkscore=0 classifier=spam authscore=0 adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602260200 X-JNJ: AAAAAAABAc74supAkeBb6hy3818+0JZzRqGDezM8wE9M0trd90VFdW7BWec5Yx+1doj3e+88NiG5/Rcr4l1YEMN6Df3K730L/k2oQTb1UnXKKI1V/ACjnxzu5syBqUlPRp+a4c0m7Lh6fTn4TeyplWqxu6eYeLxB6BeXw8xgkP84bSgybfuBK5sGDA9skuNdS9DWihXm4Bh0k7ZIc2qNnQvYp1meJmflIefWHyLLpQ7GbOewSnMSK55izmXPPftN7pXVRfaULY2ApSGNwvDMVPyXs8FFXwytbH24LpUYXry/beTdSbA3I+I/M4Mt/zmGHRWyHYvsAYZlWENnWuEk5LdQS5R6NJ/CvMSMIgaNUsWM7uls/EnY+PTZaJziM6ZapAns3BTMygj0QdvU1J//rVXpH8NDdEOGlms8OEu4ISSGTAG93K0SWgKGw7l2DiInI94DeSM39gPqFiwi3ArSuNN0CwmqXa5Oxjlt+hNNjIi4HPJaLfSRa4+uDt99SQP8mRFQ5D1pRBqgONtuVK0/1nV9GqVKIRdr5u3qnqnD7TIhXRSORIFEPpC61y0tPdipKq2ULwYcKyLQ6EisoHlVLXODDO3uYWTA4Rllt7DO/DKQKxmEkO5rzoDEjIlw From: jordikroon@me.com (Jordi Kroon) --69a0c163_39afba44_13b3e Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Ayesh, Thank you for checking for other discussions on this matter. PHP 8.5 deprecating the legacy cast names like boolean, double, integer a= nd binary in favor of bool, float, int and string feels like a pretty cle= ar step toward cleaning up old type terminology. In that context, the rem= aining legacy alias functions stand out as inconsistent leftovers. On the usage concern: the nice part here is that this is a pure rename wi= th no semantic change. And compared to seven years ago, it also looks lik= e these aliases are used a lot less in real world code, with most modern = codebases already leaning on the canonical names. That makes the ecosyste= m impact meaningfully smaller than what the 2018 thread was reacting to. Also, codebases that still use is=5Fdouble are likely to also use the leg= acy (double) cast, which means they will have to migrate to (float) and i= s=5Ffloat anyway. So the additional change from deprecating is=5Fdouble a= nd doubleval feels fairly limited. I will proceed drafting an R=46C so this can be discussed and decided pro= perly. Regards, Jordi On 21 =46eb 2026 at 4:03=E2=80=AFPM +0100, Ayesh Karunaratne , wrote: > > is=5Fdouble, which is an alias of is=5Ffloat > > is=5Finteger and is=5Flong, both aliases of is=5Fint > > doubleval, which is an alias of floatval > > > > =46or reference, is=5Freal was deprecated in PHP 7.4 and removed in 8= .0. > > > > > > Hi Jordi, > The mailing list thread you linked is the only discussion I could see t= oo. > > That thread raised a valid concern, that the number of code search > matches is quite significant. We need a strong rationale to deprecate > a function. =46unctions that are not thread-safe, buggy, insecure, > overloaded with different signatures, or simply no longer necessary > (such as those resource close functions) are quite easy to argue that > deprecating them will lead to a positive outcome. > > =60is=5Fdouble=7Cinteger=7Clong=60 functions are purely aliases, and th= ey have > been there in PHP practically forever. Code search results also yield > quite a lot of matches, so deprecating them will add a lot of work to > the package maintainers and users with little to no benefit. We > normally remove the deprecated functions by PHP 9.0, so for thousands > of packages, they cannot simply ignore these deprecations; they become > hard blockers to use PHP 9.0 (assuming you propose to remove them in > PHP 9.0). > > Thank you, > Ayesh. --69a0c163_39afba44_13b3e Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Hi Ayesh,

Thank you for checking for other discussions on this matter.


PHP 8.5 deprecating the legacy cast names like boolean, double, integer a= nd binary in favor of bool, float, int and string feels like a pretty cle= ar step toward cleaning up old type terminology. In that context, the rem= aining legacy alias functions stand out as inconsistent leftovers.


On the usage concern: the nice part here is that this is a pure rename wi= th no semantic change. And compared to seven years ago, it also looks lik= e these aliases are used a lot less in real world code, with most modern = codebases already leaning on the canonical names. That makes the ecosyste= m impact meaningfully smaller than what the 2018 thread was reacting to.<= br />

Also, codebases that still use is=5Fdouble are likely to also use the leg= acy (double) cast, which means they will have to migrate to (float) and i= s=5Ffloat anyway. So the additional change from deprecating is=5Fdouble a= nd doubleval feels fairly limited.


I will proceed drafting an R=46C so this can be discussed and decided pro= perly.

Regards,

Jordi

On 21 =46eb 2026 at 4:03=E2=80=AFPM= +0100, Ayesh Karunaratne <ayesh=40php.watch>, wrote:
is=5Fdouble, which is an alias of is=5Ffloa= t
is=5Finteger and is=5Flong, both aliases of is=5Fint
doubleval, which is an alias of floatval

=46or reference, is=5Freal was deprecated in PHP 7.4 and removed in 8.0.<= br />


Hi Jordi,
The mailing list thread you linked is the only discussion I could see too= .

That thread raised a valid concern, that the number of code search
matches is quite significant. We need a strong rationale to deprecate
a function. =46unctions that are not thread-safe, buggy, insecure,
overloaded with different signatures, or simply no longer necessary
= (such as those resource close functions) are quite easy to argue that
deprecating them will lead to a positive outcome.

=60is=5Fdouble=7Cinteger=7Clong=60 functions are purely aliases, and they= have
been there in PHP practically forever. Code search results also yield
quite a lot of matches, so deprecating them will add a lot of work to
the package maintainers and users with little to no benefit. We
normally remove the deprecated functions by PHP 9.0, so for thousands
of packages, they cannot simply ignore these deprecations; they become hard blockers to use PHP 9.0 (assuming you propose to remove them in
PHP 9.0).

Thank you,
Ayesh.
--69a0c163_39afba44_13b3e--