Re: [PHP-DEV] Remove warning when parsing datetime with + symbol?
On Mon, 28 Nov 2022, Paul Dragoonis wrote: > On Mon, 28 Nov 2022, 16:32 Christoph M. Becker, wrote: > > > On 28.11.2022 at 16:50, Derick Rethans wrote: > > > > > On Thu, 24 Nov 2022, mickmackusa wrote: > > > > > >> Can anyone explain to me why it is desirable/beneficial for the DateTime > > >> class to store a warning that trailing characters were ignored while > > >> parsing a date/time string with the + symbol in createFromFormat()? > > > > > > I have no idea why I decided that was a good idea back all these years, > > > and I'm perfectly happy to remove that restriction from PHP 8.3 > > > forwards — it's too late to do that in PHP 8.2 now, as it's being > > > released next week. > > > > That would appear to consitute a BC break. From the docs: > > > > | If this format specifier is present, trailing data in the string will > > | not cause an error, but a warning instead > > > > This can be used to parse the date (without the +, parsing may fail), > > but still be able to return a message about ignored characters to the user. > > > > We are allowed to break BC in minor version upgrades, Chris. > > We can allow this is 8.3 I think, rather than waiting for 9.0 > > What do you think? No, we don't break BC for minor gains. If Christopher says that this is a documented feature, then there is even less opportunity to do so. I'll see if I can come up with a different letter to allow for just ignoring trailing data. cheers, Derick -- https://derickrethans.nl | https://xdebug.org | https://dram.io Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support Host of PHP Internals News: https://phpinternals.news mastodon: @derickr@phpc.social @xdebug@phpc.social twitter: @derickr and @xdebug -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php
Re: [PHP-DEV] Remove warning when parsing datetime with + symbol?
On Mon, 28 Nov 2022, 16:32 Christoph M. Becker, wrote: > On 28.11.2022 at 16:50, Derick Rethans wrote: > > > On Thu, 24 Nov 2022, mickmackusa wrote: > > > >> Can anyone explain to me why it is desirable/beneficial for the DateTime > >> class to store a warning that trailing characters were ignored while > >> parsing a date/time string with the + symbol in createFromFormat()? > > > > I have no idea why I decided that was a good idea back all these years, > > and I'm perfectly happy to remove that restriction from PHP 8.3 > > forwards — it's too late to do that in PHP 8.2 now, as it's being > > released next week. > > That would appear to consitute a BC break. From the docs: > > | If this format specifier is present, trailing data in the string will > | not cause an error, but a warning instead > > This can be used to parse the date (without the +, parsing may fail), > but still be able to return a message about ignored characters to the user. > We are allowed to break BC in minor version upgrades, Chris. We can allow this is 8.3 I think, rather than waiting for 9.0 What do you think? > -- > Christoph M. Becker > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: https://www.php.net/unsub.php > >
Re: [PHP-DEV] Remove warning when parsing datetime with + symbol?
On 28.11.2022 at 16:50, Derick Rethans wrote: > On Thu, 24 Nov 2022, mickmackusa wrote: > >> Can anyone explain to me why it is desirable/beneficial for the DateTime >> class to store a warning that trailing characters were ignored while >> parsing a date/time string with the + symbol in createFromFormat()? > > I have no idea why I decided that was a good idea back all these years, > and I'm perfectly happy to remove that restriction from PHP 8.3 > forwards — it's too late to do that in PHP 8.2 now, as it's being > released next week. That would appear to consitute a BC break. From the docs: | If this format specifier is present, trailing data in the string will | not cause an error, but a warning instead This can be used to parse the date (without the +, parsing may fail), but still be able to return a message about ignored characters to the user. -- Christoph M. Becker -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php
Re: [PHP-DEV] Remove warning when parsing datetime with + symbol?
On Thu, 24 Nov 2022, mickmackusa wrote: > Can anyone explain to me why it is desirable/beneficial for the DateTime > class to store a warning that trailing characters were ignored while > parsing a date/time string with the + symbol in createFromFormat()? I have no idea why I decided that was a good idea back all these years, and I'm perfectly happy to remove that restriction from PHP 8.3 forwards — it's too late to do that in PHP 8.2 now, as it's being released next week. cheers, Derick -- PHP 7.4 Release Manager Host of PHP Internals News: https://phpinternals.news Like Xdebug? Consider supporting me: https://xdebug.org/support https://derickrethans.nl | https://xdebug.org | https://dram.io twitter: @derickr and @xdebug -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php
[PHP-DEV] Remove warning when parsing datetime with + symbol?
Can anyone explain to me why it is desirable/beneficial for the DateTime class to store a warning that trailing characters were ignored while parsing a date/time string with the + symbol in createFromFormat()? Basic example: https://3v4l.org/Sod9o $dt = DateTime::createFromFormat('h:i:A+', '01:31:PM - 03:00:PM'); var_export(DateTime::getLastErrors()); Output: array ( 'warning_count' => 1, 'warnings' => array ( 8 => 'Trailing data', ), 'error_count' => 0, 'errors' => array ( ), ) Docs: https://www.php.net/manual/en/datetimeimmutable.createfromformat.php#:~:text=If%20this%20format,instead I mean, why would I welcome the warning when I explicitly stated that I want to ignore the trailing characters? If there is longer a good reason for the warning, can it be removed from the language? If there is some benefit from having this feedback, then could it be moved to be a new property of the datetime object? To programming purists who hate generating notices and warnings, this probably feels like a wart on the language. Please enlighten me. mickmackusa