Re: [PHP-DEV] [Discussion] Expand deprecation notice scope for partially supported callables

2022-05-12 Thread Juliette Reinders Folmer


On 12-5-2022 23:30, Claude Pache wrote:



Le 12 mai 2022 à 23:11, Larry Garfield  a écrit :

For the `callable` type declaration, I'm not opposed but is it redundant with 
the existing deprecation?  When would you pass a callable to something and not 
end up calling it anyway, which would trigger the existing deprecation?  
(Meaning in practice you'd always get 2 deprecations, which are not necessarily 
better than one.)

Although such a callable is probably intended to be called at some point, it is 
not necessarily called immediately, and it may be easier to track the source of 
it when you trigger the deprecation earlier. Example:

```php
public function registerErrorHandler(callable $onerror) {
 $this->onError[] = $onerror;
}
```

(Of course, this argument also holds for `is_callable()`.)

—Claude


Exactly as Claude says and to quote the RFC:

> While it will be common to use the partially supported callable in a 
callback function call within the function with the type declaration, 
this may not always be the case, especially in frameworks where 
callbacks can be registered to be executed later in a limited set of 
circumstances and those circumstances may not be met by default.


> Without a deprecation notice, those “/limited circumstances 
callbacks/” may not be discovered as needing updating in time for PHP 9.0.


Ref: 
https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices#adding_a_deprecation_notice_for_callable


Smile,
Juliette


[PHP-DEV] PHP 8.1.6 Released

2022-05-12 Thread Ben Ramsey
The PHP development team announces the immediate availability of PHP
8.1.6. This is a bugfix release.

All PHP 8.1 users are encouraged to upgrade to this version.

For source downloads of PHP 8.1.6 please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog.

Release Announcement: 
Downloads:
Windows downloads:
Changelog:
Release Manifest: 


Many thanks to all the contributors and supporters!

Ben Ramsey, Patrick Allaert, & Joe Watkins



php-8.1.6.tar.bz2
SHA256 hash: 7b353304b7407554f70d3e101a226a1fc22decae5c4c42ed270c4e389bfa1b66
PGP signature:
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmJ7DtoACgkQ+cOdwLlp
hUSR1xAAgiMZJGOMMf9fiFR3bFlmYQjRXhQn91JnfeRU+6RR4X5dMGi+3zFAsBZF
TZPXrmhdXDjnQrLmn55NKQV6AiedhdYIgvLtldpI/Pyeq5smHwiqRBj4TA9dCNy1
0mtA8wln9mu5oEgNhOnolZs2zlao6KdHTXJTOtx7yKJzctQpjV08DXsxAXskW841
WR9/fFaQxfbHLqMLDHZuUy5gongT3Q/foVJHeyZdQITKs6TJpuKG7S5i4W1rGOvV
ZRttwxXLv1n4KHJ2a5tVDy3jmpF0lm348VPLl9Pn6ZwbAnYxRrifrcMddRTjHZyy
91YkVsX5Kz6h/QZLgVQLlX1EsFVrrbS1H/f80J3hJJQHlBpE3xvx9Zic56+DJ+iH
h7/st+LTInvTVeFHADGggqxnkOMoY7tCCabJ3BjvBK+GRlta/KHcQmLjzHDz+PQG
VP1Kne40PhMoDnhLhJyKce4kbeEU+dfZwGARhiWNIeBM5ODoD4Vu74pHjnwwPzVK
Ls6R6jHbMkqzg/7mpE0bdbZcA9VVcIPN5ZaHcVqHfJxsAeOGDhGlu+ZCi82H0sP/
ejWyPVKT4sByZRxZv6dNIdIFqC7RkXJGsDVV76Pkz7yAvrh+KjxBRDx1yDm9bq1J
WWw4HZBuCew4XS8x8ub1ORGdjTZJb+C4JYi2jpLJRZrIg8CxeWI=
=VI8D
-END PGP SIGNATURE-


php-8.1.6.tar.gz
SHA256 hash: e847745fd66fc8c57fac993a609fefcded93fddccd225f0620a26bb5ae5753c3
PGP signature:
-BEGIN PGP SIGNATURE-

iQIyBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmJ7DtsACgkQ+cOdwLlp
hUTLSg/3WlGmwfqyZPP6POwCTEpSOGE8Ydhsn1173fGkj6sH5/pCsrpDUhnPj0Qw
7l5rzgAVg/9yGmQnrc/Qp4/cJ261gl3thUtpPRD/wsEOCG96/V8K2hyExBpZsiAp
s2XEefGmIaAMAmwoLVnAyIwYSbOrujl9obXJ4GUdaPRxkDO8jvV2e8W/W1ASRcwL
Gg1Ev6s4BfDND0F4znJyWHEi6PUMcEO1KjgESdm4GeNOWjEdvH/mVHxp0vDjkG28
GXToEguCOzhZyDuBi6Q/bdMb3bECPjQuFW2EGAQPoGE0ZNRfqavW6fabjvjZQaiG
Yz/sWjRsXOoT6IUjBRewH/h6rgPLFpIMsvPOFS5rsutUjHx9WloW+ceAHoZuZQCZ
Y489fY0SH1f+u6gaa/Dg9JkbXz6Ln3/RiwbfrZJPEO6+yuqgoaZpXSp4VL2F2Qt+
RquKYbe9P6HE2roJoxHoMIpjW1k3Ub2lKC6/UiSRFNCEhCJxeZSbp39p1DXxzAOe
0/SLTEnohhwE2B/tHyFYP1NH5WdLsHXVb8FjqM9V5O/xtnjGcdso9R1JLL/1EHG8
r01D2Gjfrzthzf/bUOtsheWNk0IoaVgImkzg/+iM/X9x5UwXfXwwsBJ1jCeB1Iqk
3D6B3XA7hAo7290uVZ2iHIxpTwfY/onF9e0dTrnhxqezWVeBpw==
=0MRb
-END PGP SIGNATURE-


php-8.1.6.tar.xz
SHA256 hash: da38d65bb0d5dd56f711cd478204f2b62a74a2c2b0d2d523a78d6eb865b2364c
PGP signature:
-BEGIN PGP SIGNATURE-

iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmJ7DtsACgkQ+cOdwLlp
hUTtpg/+O6eYKgAWdAVm6Y52fvYuAC2PTogNbPBuC2+IkVv0nIyWn3xuDHmOu89J
d71ApIkXHmpLGVhYOnabuB+TDudCqQibFHJNzONawnUtYcb005L1qqsO8hqH8TdZ
vI1Fm4hJbTQyRgDo3apWqZMTv+U3c9FLLt8s59X4OrPbJO3n5rRR5muDfQNLGCwi
Pi/6dOZ5azKpByOP2zKnSyTqcrirUrEr/5NDuNGpzMRk7tKSR4XTJXm3umiqhV3/
xG57jNWJ9XvUqo/j6RiS3ISA2H5QyY2qtHuTexaZMl6g9tOSDGHJhP5+3etJkxkI
vH7kUZS4nblx/r9NIpg3BIYfpbBnrH1U9XdS0THLK6OihOTyKH0W8Pkb4+BRwUVI
uhku4+5cY9ypPRdyf+GqWBQQHRVL/M9NlCTASjf25IHbs7rb/k+1dsIwfe/FXZZ/
Gnh+OhGE3Vw8qMGf2B+MnppjVMSkJAFOt3T6bh9bi1T81JKPb8uEsToGRMVAefUi
5fFocSgREUa4paimldIS47/pK8hqNbKJ/Ge8VqDFnrZBR3COsEwjqplif/EAWSM5
+2VwXg+8TCHvchLsHDsuCwqPpDWCbFdGLDckO7mzfgq6kP+dNw51roy3jhIUF4Bu
cezeKAqQledHyI0hytu0jYWpk+UY0dzRG4MZGN7knUhFfNyVBG4=
=NnHp
-END PGP SIGNATURE-




signature.asc
Description: Message signed with OpenPGP


Re: [PHP-DEV] [Discussion] Expand deprecation notice scope for partially supported callables

2022-05-12 Thread Claude Pache


> Le 12 mai 2022 à 23:11, Larry Garfield  a écrit :
> 
> For the `callable` type declaration, I'm not opposed but is it redundant with 
> the existing deprecation?  When would you pass a callable to something and 
> not end up calling it anyway, which would trigger the existing deprecation?  
> (Meaning in practice you'd always get 2 deprecations, which are not 
> necessarily better than one.)


Although such a callable is probably intended to be called at some point, it is 
not necessarily called immediately, and it may be easier to track the source of 
it when you trigger the deprecation earlier. Example:

```php
public function registerErrorHandler(callable $onerror) {
$this->onError[] = $onerror;
}
```

(Of course, this argument also holds for `is_callable()`.)

—Claude

Re: [PHP-DEV] [Discussion] Expand deprecation notice scope for partially supported callables

2022-05-12 Thread Larry Garfield
On Thu, May 12, 2022, at 11:54 AM, Juliette Reinders Folmer wrote:
> After the prior discussion about the same topic: 
> https://externals.io/message/117342, I have created an RFC to expand the 
> scope of the deprecation notices being thrown for the deprecated 
> partially supported callables to include is_callable() and the callable 
> type in PHP 8.2.
>
> With this email I'm opening the two week discussion period for this RFC. 
> All points raised in the prior discussion are already included in the RFC.
>
> https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices
>
> I look forward to your feedback.
>
> Smile,
> Juliette

I didn't follow the earlier discussion in much detail, but the is_callable() 
deprecation seems fine to me.

For the `callable` type declaration, I'm not opposed but is it redundant with 
the existing deprecation?  When would you pass a callable to something and not 
end up calling it anyway, which would trigger the existing deprecation?  
(Meaning in practice you'd always get 2 deprecations, which are not necessarily 
better than one.)

--Larry Garfield

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php



Re: [PHP-DEV] The future of objects and operators

2022-05-12 Thread Jordan LeDoux
On Mon, May 9, 2022 at 2:25 PM Larry Garfield 
wrote:

>
> Also, not proposing level 1 on the grounds that it would reduce the
> argument for level 2/3 in the future would effectively be holding level 1
> functionality "hostage" for the more advanced versions, which... would
> probably not work out well. :-)  (Even if that's not your intent, it would
> come off that way.)
>
>
>
Yes, I also realize that, which is another reason I'm thinking that doing
comparison-only overloads first might be the better way forward.


[PHP-DEV] [Discussion] Expand deprecation notice scope for partially supported callables

2022-05-12 Thread Juliette Reinders Folmer
After the prior discussion about the same topic: 
https://externals.io/message/117342, I have created an RFC to expand the 
scope of the deprecation notices being thrown for the deprecated 
partially supported callables to include is_callable() and the callable 
type in PHP 8.2.


With this email I'm opening the two week discussion period for this RFC. 
All points raised in the prior discussion are already included in the RFC.


https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices

I look forward to your feedback.

Smile,
Juliette



[PHP-DEV] PHP 8.0.19 Released

2022-05-12 Thread Gabriel Caruso
The PHP development team announces the immediate availability of PHP
8.0.19. This is a bugfix release.

All PHP 8.0 users are encouraged to upgrade to this version.

For source downloads of PHP 8.0.X please visit our downloads page.
Windows binaries can be found on the PHP for Windows site.
The list of changes is recorded in the ChangeLog.

Release Announcement: 
Downloads:
Windows downloads:
Changelog:
Release Manifest: <
https://gist.github.com/carusogabriel/c688799936429ec15061bb2583f57728>

Many thanks to all the contributors and supporters!

Gabriel Caruso & Sara Golemon

php-8.0.19.tar.gz
SHA256 hash:
48e57634d350bcab4745d25d9d94ffa474649bf4f7e879fad163226c0d107bb5
PGP signature:
-BEGIN PGP SIGNATURE-

iQJKBAABCAA0FiEEv93ShkKCT4EY73eQm2elwSIpEY8FAmJ6HlAWHGNhcnVzb2dh
YnJpZWxAcGhwLm5ldAAKCRCbZ6XBIikRj368D/9/yk7aiZ7pz4oN917aHjzOmMDM
jvD/L7i1xOL+JhCBdpNkVUwAksHy99NeWCO9uffJrSsRAdKaNk7IL/jMKhTYDv+2
Fym5GJfg3l/dIvE10zm6hgU3wcNYY/2tuJXyLBnfJLQL0QqqVYlB1rCNsQpsY78X
+Xygo9RVLAuVYK3YEs8NZb1TK4lznV8ipR3BH2ZhxqM9/SydS1k0qvYf9wFLb2s9
c3495lDkMCH8G8DLUUK5y8i8rvw8anhio5jCpodIlrTIpWUkAJA6azki1XffinDT
rvbpHECKhiLLi2QK5WMZV6s9469RYKAmxiNU9PBtdBucisARBFz234VsX5eHJ9Hm
ZHx/Eom+p8wvIZZkYJVZikrvCvXL2ML9LTVqrzMEC44oIliw4UOAzGwYAbNA5TKN
npd3x7jbRPP35dF8gibKmGcVH5t5S5kgULBJA+d+cXFT6rv1wD3G34A54Hjzp7iz
oYKCn6wuSxH/pzxOUc1+ZiZearVsKuts6xqknzfF1pQ8bF0LVvVwVVeUeWZEZ3a/
/ThKkccpJwLP1C5M+tTKKEstETd8TmyuoKm0PZzoLvrOiT/7phvNAbsFBc0/IUYD
LwcKMD+Dhopa5Kws75YW+71Hkroqr6EYtSp7qIiOV0dDVaE5Cn0P9Y6bXiKL0Tpg
ZpIhm97ZQzJnb91FJQ==
=OB6n
-END PGP SIGNATURE-

php-8.0.19.tar.bz2
SHA256 hash:
eba0e67fdaf6904b2e4b84e064be0a0d61b2cb64a23f81a0ca9b1a51bc3a8330
PGP signature:
-BEGIN PGP SIGNATURE-

iQJKBAABCAA0FiEEv93ShkKCT4EY73eQm2elwSIpEY8FAmJ6HlAWHGNhcnVzb2dh
YnJpZWxAcGhwLm5ldAAKCRCbZ6XBIikRj7iiD/9UJ+vDt56hWXgDf2J5VWmuseBS
8FPO5iGBrrQU3lZn3rPdOs2l/pJNvXpAFpPGu3/wCnmtStqIVf2DbVV73zROAe7R
F/jMiXFDGfNWSQO2q//+jSZxlzbqScTNNEYH4JttNNM6w1oIn54vKngj40x2+cVx
Lk3m7BhSsQZjEAuZ3vhBfrdwKq5KcMXvqhNFKHJ5NKTGvPouPYlYcszXqfj9R/iy
HzvAd0Zvj2blSJodKCWqstZfjWzj1PA3iZogF3TYCNYVYG+BQzO7tLOghM62xS49
FqfAg3luNYvm9EO8KodFZ46FkVngC+ND2xJZsW3vtfMGktNy9eRZdTZyM1y1uXpq
K1Lhyo8j5KP6fmgEnpHXkLc8wBnoiaNdvffXlBkVV1wM+MYtbjgE6TGGZYKXk4lb
VMsZRzNAUUBQvWRP4SUh4Xyz2rj97HiyVLSHbF77oNuD5Lh1FSOPN1mGDnh3r6JB
r/QaYzs/ee73EmsLx954laq92W9EShqnmNMYcMmEzFKtQY58V8qhai7iBAMWWGYj
O4W+03KYkDPPyrEk7DdMO4MvtsDaCsy+Px413AhYoPXd+OCDVfEPkZdbX5vSRVHM
dcpMm0HBJAjf6CRQ8khtVjzEUZfEJEJSFUUoYxcpp6jyVRJI/VMhhYhFWr04V8lw
2WhecD1BvB7ek80f8w==
=Xg4s
-END PGP SIGNATURE-

php-8.0.19.tar.xz
SHA256 hash:
ba62219c4b0486cbb2a04f0796749a46b0ee1f5a142ed454212b4e2460cb0fab
PGP signature:
-BEGIN PGP SIGNATURE-

iQJKBAABCAA0FiEEv93ShkKCT4EY73eQm2elwSIpEY8FAmJ6HlAWHGNhcnVzb2dh
YnJpZWxAcGhwLm5ldAAKCRCbZ6XBIikRj4gMEADc9rV8q+Ko6xYKykBq4SetmX6j
y0MnnUHrZQeroMTgBEv0fqNidYGknU7i/u6E+gbv6Iba0n6tGOysGbuZUxKulVG4
SWHLhB8OzSe8M8uiBtkLcBb0gs7QRhhKG2wsDQdoA9h3uclYhLIVR7NVq2628+Sb
n0wqVUO6A3ApsgYsMPjg1vZgZyexZL2G2cejCn7Mj4J9vfgSrLub7y8RlQukYS3G
qaMUvviINUFystMpfrD3qYQDKKhewXsCbADPu8olIxU56DWQ941/5y50yBDuORM9
dgURM4F+gfUf857zwvXsC9IC379McTbtHe2ZPpgrc0byjXxr3L8iaHXK/vHwc2jd
DcN5ZK7LH/pGjfUvCZkEdLC7ePm17ffUWYm2P7p7gQnCjBkbhBOCpgEwc5yCZN3k
XhxWOo4Dxqiy32tJb2QrHijlZ0ghI+qE2wnz+vZu+9Z4Te+/PRQ2l9AqfScNFDV+
HN9bqZ8UidP0nmWEs9SR2KBWbxF9fR/EjE7291I3MG8yRCnQoVSdODwKcLmtPZBS
nt37qGhRQOnE41qbrGBoLosNcmXqapIGddq5FH96eXjwQ8CriAegnM9windJn85L
7bVGF0Uip0B3969zHzDTkdtfdK6e8nrqeuWkrTz7i+YMELJhck7kYdOlZRgTI1Bs
8zsGxzEyp7sgwleWOA==
=2w4x
-END PGP SIGNATURE-