PHP 8.0: Saner string to number comparisons

Discussions and requests related to new CMSimple features, plugins, templates etc. and how to develop.
Please don't ask for support at this forums!
Post Reply
cmb
Posts: 13592
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

PHP 8.0: Saner string to number comparisons

Post by cmb » Mon Jan 25, 2021 11:14 pm

Maybe the most precarious behavioral change in PHP 8.0 for CMSimple_XH, plugins, templates and addons is the acceptance of the Saner string to number comparisons RFC. While I personally like the new rules, there is quite some potential for silent (and therefore easy to overlook) BC breaks. There is, however, a PR for PHP 7.4 which throws warnings whenever a comparison would yield a different result under PHP 8.0. Since it might be useful to test CMSimple_XH and extensions with these warnings, I've rebased the PR onto commit edb389730d1 and created respective x64 Windows packages for testing purposes:
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 1706
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by olape » Tue Jan 26, 2021 6:53 am

A good idea.
I do need to see that I update xampp to 7.4.16, I'm running 7.4.12, but that will be fine.

Thanks

lck
Posts: 2287
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by lck » Tue Jan 26, 2021 3:28 pm

cmb wrote:
Mon Jan 25, 2021 11:14 pm
Einfach bestehende php-Dateien mit dem aus deinem zip überschreiben, oder braucht es noch andere Anpassungen?
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 13592
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by cmb » Tue Jan 26, 2021 4:05 pm

lck wrote:
Tue Jan 26, 2021 3:28 pm
cmb wrote:
Mon Jan 25, 2021 11:14 pm
Einfach bestehende php-Dateien mit dem aus deinem zip überschreiben, oder braucht es noch andere Anpassungen?
Ich denke nicht. :)
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2287
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by lck » Tue Jan 26, 2021 4:42 pm

cmb wrote:
Tue Jan 26, 2021 4:05 pm
Ich denke nicht. :)
Ok, gemacht. System Xampp portable 7.4.14 und XH 1.7.4 (jungfräulich).

1) PHP Info meldet mir "PHP Version 7.4.13-dev", sollte doch 7.4.16 sein. :?

2) Debug-Mode meldet im Bearbeiten-Modus:
Debug-Mode wrote:WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\Pageparams_view.php:86
WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\Pageparams_view.php:112
WARNING: Result of comparison between 0 and "submenu" will change (0 to -1)
D:\xampp_7.4.14\htdocs\xh174\cmsimple\classes\Li.php:76
in der Vorschau
WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\index.php:115
WARNING: Result of comparison between 0 and "submenu" will change (0 to -1)
D:\xampp_7.4.14\htdocs\xh174\cmsimple\classes\Li.php:76
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 13592
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by cmb » Tue Jan 26, 2021 6:30 pm

lck wrote:
Tue Jan 26, 2021 4:42 pm
1) PHP Info meldet mir "PHP Version 7.4.13-dev", sollte doch 7.4.16 sein. :?
Ja, sollte, wurde aber anscheinend vergessen zu aktualisieren.
lck wrote:
Tue Jan 26, 2021 4:42 pm
2) Debug-Mode meldet im Bearbeiten-Modus:
Debug-Mode wrote:WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\Pageparams_view.php:86
WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\Pageparams_view.php:112
WARNING: Result of comparison between 0 and "submenu" will change (0 to -1)
D:\xampp_7.4.14\htdocs\xh174\cmsimple\classes\Li.php:76
in der Vorschau
WARNING: Result of comparison between 0 and "" will change (0 to 1)
D:\xampp_7.4.14\htdocs\xh174\plugins\page_params\index.php:115
WARNING: Result of comparison between 0 and "submenu" will change (0 to -1)
D:\xampp_7.4.14\htdocs\xh174\cmsimple\classes\Li.php:76
Wow! In Li ist das Handling unsauber; evtl. ist der von mir früher gepostete Fix gar nicht der richtige. Und in page_params muss wohl auch nachgebessert werden. Das schaue ich mir im Lauf des Abends noch genauer an.

Auf jeden Fall schon mal vielen Dank fürs Testen!
Christoph M. Becker – Plugins for CMSimple_XH

cmb
Posts: 13592
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by cmb » Tue Jan 26, 2021 10:44 pm

cmb wrote:
Tue Jan 26, 2021 6:30 pm
Das schaue ich mir im Lauf des Abends noch genauer an.
Die gute Nachricht: der page_params Bug und der Li Bug sind gefixt.

Die schlechte Nachricht: Travis-CI ist dabei die kostenlosen Dienste einzustellen. Da steht dann wohl ein Wechsel zu Github Actions (oder vielleicht AppVeyor) an.
Christoph M. Becker – Plugins for CMSimple_XH

olape
Posts: 1706
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by olape » Wed Jan 27, 2021 7:46 am

cmb wrote:
Tue Jan 26, 2021 10:44 pm
Die schlechte Nachricht: Travis-CI ist dabei die kostenlosen Dienste einzustellen. Da steht dann wohl ein Wechsel zu Github Actions (oder vielleicht AppVeyor) an.
Abhängigkeiten sind immer Sch... :cry:
Aber hier muss man doch fast vermuten, dass das geplant war.
Ganz nach dem Motto, viele werden den Aufwand scheuen zu wechseln und dann lieber bezahlen.
Aber es scheint, dass das schon Ende 2020 passiert ist oder passieren sollte.

Ansonsten habe ich keinen Plan, was da wirklich alles dranhängt.
Für mich klingt das so, als könne man eigentlich nichts mehr erstellen, zusammenführen oder testen.

lck
Posts: 2287
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by lck » Wed Jan 27, 2021 6:08 pm

cmb wrote:
Tue Jan 26, 2021 10:44 pm
cmb wrote:
Tue Jan 26, 2021 6:30 pm
Das schaue ich mir im Lauf des Abends noch genauer an.
Die gute Nachricht: der page_params Bug und der Li Bug sind gefixt.
Super! Getestet, passt, Debugmeldungen sind verschwunden.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

cmb
Posts: 13592
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: PHP 8.0: Saner string to number comparisons

Post by cmb » Wed Jan 27, 2021 10:26 pm

olape wrote:
Wed Jan 27, 2021 7:46 am
Ansonsten habe ich keinen Plan, was da wirklich alles dranhängt.
Für mich klingt das so, als könne man eigentlich nichts mehr erstellen, zusammenführen oder testen.
Für uns nicht wirklich viel; wir lassen dort nur für jeden Commit und Pull-Request prüfen, ob die Coding-Standards eingehalten wurden, und ob die Unit-Tests laufen, siehe https://github.com/cmsimple-xh/cmsimple ... travis.yml (und die Ergebnisse. Das funktioniert wohl auch noch für ein paar Wochen, allerdings eben mit großer Verzögerung. Die Umstellung auf einen anderen Service sollte eigentlich nicht viel Arbeit sein, aber klar, man kann nie wissen wie lange andere kostenlose Dienste kostenlos bleiben. :|
lck wrote:
Wed Jan 27, 2021 6:08 pm
Super! Getestet, passt, Debugmeldungen sind verschwunden.
Danke! Ich kam noch immer nicht dazu, die PHP 7.4 Variante tatsächlich auszuprobieren (PHP 8.0 mit dem neuen Xdebug 3 hat mich gestern doch mehr Zeit gekostet als mir lieb war).
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply