Changes in pdo_sqlite and var_dump in PHP 8.1

php.internals

Sergei Morozov

5 years ago
Hi Internals, While trying to run Doctrine DBAL test suite on PHP 8.1, I noticed a few differences in PHP 8.1 behavior compared to the earlier versions: 1. pdo_sqlite returns integer and decimal columns as PHP integers and floats respectively instead of representing them as numeric strings. See https://3v4l.org/YDUfj. 2. var_dump() outputs the properties declared in a parent class before the class's own properties. Previously it was the other way around. See https://3v4l.org/EKEHN. I can't find anything related in the PHP 8.1 RFC list <https://wiki.php.net/rfc#php_81> or by briefly looking at the code changes. Are these changes expected, and if so, what's their source? Thanks!
-- Sergei Morozov

Nikita Popov

5 years ago
On Sat, Jun 19, 2021 at 7:32 PM Sergei Morozov <morozov@tut.by> wrote:
> Hi Internals, > > While trying to run Doctrine DBAL test suite on PHP 8.1, I noticed a few > differences in PHP 8.1 behavior compared to the earlier versions: > > 1. pdo_sqlite returns integer and decimal columns as PHP integers and > floats respectively instead of representing them as numeric strings. See > https://3v4l.org/YDUfj. > 2. var_dump() outputs the properties declared in a parent class before > the class's own properties. Previously it was the other way around. See > https://3v4l.org/EKEHN. > > I can't find anything related in the PHP 8.1 RFC list > <https://wiki.php.net/rfc#php_81> or by briefly looking at the code > changes. > > Are these changes expected, and if so, what's their source? >
Please refer to the UPGRADING file for a list of significant changes in a release: https://github.com/php/php-src/blob/578b67da49af51b2f796a48782e51ceb62860943/UPGRADING#L123-L126 https://github.com/php/php-src/blob/578b67da49af51b2f796a48782e51ceb62860943/UPGRADING#L334-L341 Regards, Nikita

Sergei Morozov

5 years ago
Perfect. Thanks, Nikita! On Sat, Jun 19, 2021 at 11:04 AM Nikita Popov <nikita.ppv@gmail.com> wrote:
> On Sat, Jun 19, 2021 at 7:32 PM Sergei Morozov <morozov@tut.by> wrote: > >> Hi Internals, >> >> While trying to run Doctrine DBAL test suite on PHP 8.1, I noticed a few >> differences in PHP 8.1 behavior compared to the earlier versions: >> >> 1. pdo_sqlite returns integer and decimal columns as PHP integers and >> floats respectively instead of representing them as numeric strings. >> See >> https://3v4l.org/YDUfj. >> 2. var_dump() outputs the properties declared in a parent class before >> the class's own properties. Previously it was the other way around. See >> https://3v4l.org/EKEHN. >> >> I can't find anything related in the PHP 8.1 RFC list >> <https://wiki.php.net/rfc#php_81> or by briefly looking at the code >> changes. >> >> Are these changes expected, and if so, what's their source? >> > > Please refer to the UPGRADING file for a list of significant changes in a > release: > > > https://github.com/php/php-src/blob/578b67da49af51b2f796a48782e51ceb62860943/UPGRADING#L123-L126 > > https://github.com/php/php-src/blob/578b67da49af51b2f796a48782e51ceb62860943/UPGRADING#L334-L341 > > Regards, > Nikita >
-- Sergei Morozov