DOM upgraden
Ik heb code van PHP7 die naar PHP8 moet, maar het lijkt niet te lukken.
De oude code geeft een error in m'n IDE:
Foutmelding: Function '__construct' has been removed and is available up to PHP 7PHP(PHP6405)
https://www.php.net/manual/class.domimplementation.php
De nieuwe code geeft een error in PHP8:
Foutmelding: Fatal error: Uncaught Error: Non-static method DOMImplementation::createDocument() cannot be called statically
Ik gebruik DOMImplementation om instellingen te kunnen doen:
Hoe kan ik PHP8 gebruiken zonder errors?
Toevoeging op 27/08/2024 10:44:02:
De foutmelding is nu uit mijn VSCodium.
Het probleem was dat de plugin "PHP - All-in-One PHP support" de plugin "IntelliPHP" meeïnstalleert, en na het verwijderen van "IntelliPHP" bleef de foutmelding achterwege.
De link naar de documentatie op php.net zegt echter wel dat de C-tor van DOMImplementation niet in PHP8 wordt ondersteunt. Dus de documentatie van PHP is ook fout, want het werkt verder nog steeds.
Kennelijk hebben we inmiddels AI nodig voor triviale taken als het lezen van de Fine Manual...
De oude code geeft een error in m'n IDE:
Foutmelding: Function '__construct' has been removed and is available up to PHP 7PHP(PHP6405)
https://www.php.net/manual/class.domimplementation.php
De nieuwe code geeft een error in PHP8:
Foutmelding: Fatal error: Uncaught Error: Non-static method DOMImplementation::createDocument() cannot be called statically
Ik gebruik DOMImplementation om instellingen te kunnen doen:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$dom->preserveWhiteSpace = FALSE;
$dom->formatOutput = FALSE;
$dom->substituteEntities = TRUE;
$dom->xmlVersion = '1.0';
$dom->encoding = 'UTF-8';
?>
$dom->preserveWhiteSpace = FALSE;
$dom->formatOutput = FALSE;
$dom->substituteEntities = TRUE;
$dom->xmlVersion = '1.0';
$dom->encoding = 'UTF-8';
?>
Hoe kan ik PHP8 gebruiken zonder errors?
Toevoeging op 27/08/2024 10:44:02:
De foutmelding is nu uit mijn VSCodium.
Het probleem was dat de plugin "PHP - All-in-One PHP support" de plugin "IntelliPHP" meeïnstalleert, en na het verwijderen van "IntelliPHP" bleef de foutmelding achterwege.
De link naar de documentatie op php.net zegt echter wel dat de C-tor van DOMImplementation niet in PHP8 wordt ondersteunt. Dus de documentatie van PHP is ook fout, want het werkt verder nog steeds.
Kennelijk hebben we inmiddels AI nodig voor triviale taken als het lezen van de Fine Manual...
Er zijn nog geen reacties op dit bericht.