Re: [PHP-DEV] [RFC] Deprecate boolean to string coercion

2021-06-26 Thread Kamil Tekiela
Hi George,

As someone who has fallen victim to this silent bug in the past, I think I
would be on board with this change.
Why only implicit casting? If we compare this to the array-to-string
casting then the warning happens for both. It would be more consistent to
deprecate both implicit and explicit. I'd imagine it would also be easier
to implement. I'd say that printf() family of functions should also throw
the deprecation notice, even if we only deprecate implicit conversion.
I am under impression that most of the time when this kind of conversion
happens the expected outcome is either 0 or 1. For example, when storing a
boolean flag to sqlite database. Could we not change the false value to 0
instead of deprecating?

Regards,
Kamil


Re: [PHP-DEV] [RFC] Deprecate boolean to string coercion

2021-06-25 Thread G. P. B.
On Tue, 22 Jun 2021 at 23:52, tyson andre  wrote:

> Hi George P. Banyard,
>
> > With Ilija we are proposing a short RFC to deprecate coercion from bool
> to
> > string:
> > https://wiki.php.net/rfc/deprecate-boolean-string-coercion
> >
> > As this is the final day for any RFC to be even able to land in PHP 8.1
> > the voting is expected to start in two weeks on the 6th of July.
> >
> > The implementation is yet to be done but is expected to be rather
> > straightforward and finished within the week.
>
> I'd agree any casts from booleans to strings are usually a bug in the
> application
>
> Something I'd like to see in the rfc: What's the intended behavior
> (notices) of `sprintf('%s', false);` (functions internally casting to
> strings)
> What about `echo true; print(false);`, etc.
>
> Thanks,
> Tyson
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php


Hello Tyson,

Thanks for pointing this out, we clarified this in the RFC now.

Moreover, seeing the impact on the tests of php-src we also propose to
change some function signatures to accept boolean arguments.
The only such function currently is ini_set(), but others might be added.

Best regards,

George P. Banyard


Re: [PHP-DEV] [RFC] Deprecate boolean to string coercion

2021-06-22 Thread tyson andre
Hi George P. Banyard,

> With Ilija we are proposing a short RFC to deprecate coercion from bool to
> string:
> https://wiki.php.net/rfc/deprecate-boolean-string-coercion
> 
> As this is the final day for any RFC to be even able to land in PHP 8.1
> the voting is expected to start in two weeks on the 6th of July.
> 
> The implementation is yet to be done but is expected to be rather
> straightforward and finished within the week.

I'd agree any casts from booleans to strings are usually a bug in the 
application

Something I'd like to see in the rfc: What's the intended behavior (notices) of 
`sprintf('%s', false);` (functions internally casting to strings)
What about `echo true; print(false);`, etc.

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



[PHP-DEV] [RFC] Deprecate boolean to string coercion

2021-06-22 Thread G. P. B.
Hello Internals,

With Ilija we are proposing a short RFC to deprecate coercion from bool to
string:
https://wiki.php.net/rfc/deprecate-boolean-string-coercion

As this is the final day for any RFC to be even able to land in PHP 8.1
the voting is expected to start in two weeks on the 6th of July.

The implementation is yet to be done but is expected to be rather
straightforward and finished within the week.

Best regards,

George P. Banyard