DOM upgraden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ad Fundum

Ad Fundum

26/08/2024 14:29:24
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$dom
= (new DOMImplementation)->createDocument(NULL, '');
?>

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$dom
= DOMImplementation::createDocument(NULL, '');
?>

Foutmelding: Fatal error: Uncaught Error: Non-static method DOMImplementation::createDocument() cannot be called statically

Ik gebruik DOMImplementation om instellingen te kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$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...
Gewijzigd op 26/08/2024 14:30:10 door Ad Fundum
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.