Veraltete Features in PHP 7.2.x

Zeichenketten ohne Anführungszeichen

Eine Zeichenkette, die nicht in Anführungszeichen steht, wird nur dann als Zeichenkette behandelt, wenn es keine globale Konstante mit diesem Namen gibt. Dieser Fall erzeugte bisher einen Fehler der Stufe E_NOTICE und erzeugt nun stattdessen einen Fehler der Stufe E_WARNING. In der nächsten PHP-Hauptversion wird dann eine Error-Exception ausgelöst.

<?php

var_dump
(NONEXISTENT);

/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/

png2wbmp() und jpeg2wbmp()

Bei der Erweiterung GD sind die Funktionen png2wbmp() und jpeg2wbmp() nun veraltet und werden in der nächsten PHP-Hauptversion entfernt.

Die Variante INTL_IDNA_VARIANT_2003

In der Erweiterung Intl ist die Variante INTL_IDNA_VARIANT_2003 veraltet. Sie wird derzeit als Standardwert für die Funktionen idn_to_ascii() und idn_to_utf8() verwendet. In PHP 7.4 wird dieser Standardwert in INTL_IDNA_VARIANT_UTS46 geändert und in der nächsten Hauptversion von PHP wird INTL_IDNA_VARIANT_2003 komplett entfernt.

Die Methode __autoload()

Die Methode __autoload() ist veraltet, weil sie der Funktion spl_autoload_register() unterlegen ist (sie ist nicht in der Lage, Autoloader zu verketten) und es keinerlei Interoperabilität zwischen den beiden Autoload-Verfahren gibt.

Die INI-Einstellung track_errors und die Variable $php_errormsg

Wenn die INI-Einstellung track_errors aktiviert ist, wird bei einem nicht-fatalen Fehler die Variable $php_errormsg im lokalen Bereich erstellt. Da solche Fehlerinformationen üblicherweise mit der Funktion error_get_last() abgefragt werden, ist diese Funktionalität nun veraltet.

Die Funktion create_function()

In Anbetracht der Sicherheitsprobleme dieser Funktion (sie ist ein schlanker Wrapper um eval()) ist diese Funktion nun veraltet. Stattdessen sollten anonyme Funktionen verwendet werden.

Die INI-Einstellung mbstring.func_overload

Da es in Umgebungen, in denen diese Einstellung aktiviert ist, Probleme bei der Interoperabilität mit zeichenkettenbasierten Funktionen gibt, ist sie nun veraltet.

Typumwandlung mit (unset)

Wird ein Ausdruck in diesen Typ umgewandelt, so ergibt dies immer null, weshalb diese überflüssige Typumwandlung nun veraltet ist.

parse_str() ohne zweiten Parameter

Wird die Funktion parse_str() ohne den zweiten Parameter verwendet, dann werden die Parameter aus der Abfragezeichenkette in der lokalen Symboltabelle abgelegt. In Anbetracht der damit verbundenen Sicherheitsrisiken ist die Verwendung von parse_str() ohne den zweiten Parameter nun veraltet. Die Funktion sollte immer mit zwei Parametern verwendet werden, da der zweite Parameter bewirkt, dass die Abfragezeichenkette in ein Array überführt wird.

Die Funktion gmp_random()

Diese Funktion generiert eine Zufallszahl basierend auf einem Bereich, der durch eine nicht näher spezifizierte, plattformspezifische Länge der einzelnen Elemente berechnet wird. Aus diesem Grund ist die Funktion nun veraltet. Um eine Zustallszahl unter Verwendung der Erweiterung GMP zu erzeugen, sollten stattdessen die Funktionen gmp_random_bits() und gmp_random_range() verwendet werden.

Die Funktion each()

Diese Funktion ist bei einer Iteration viel langsamer als ein gewöhnliches foreach und führt bei manchen Änderungen an PHP selbst zu Implementierungsproblemen, weshalb diese Funktion für veraltet erklärt wurde.

Übergabe einer Zeichenkette an assert()

Wenn assert() mit einer Zeichenkette als Parameter verwendet wird, muss die Zeichenkette mittels eval() ausgewertet werden. Angesichts des Potenzials für die Remote-Code-Ausführung ist die Übergabe einer Zeichenkette an assert() nun zugunsten der Verwendung boolescher Ausdrücke veraltet.

Der Parameter $errcontext bei Fehlerbehandlungen

Der Parameter $errcontext enthält alle lokalen Variablen der Stelle, an der der Fehler auftrat. Weil er nur selten verwendet wird und Probleme mit internen Optimierungen verursacht, ist es nun veraltet. Um Informationen über lokale Variablen am Ort des Fehlers abzurufen, sollte stattdessen ein Debugger verwendet werden,

Die Funktion read_exif_data()

Der Alias read_exif_data() ist veraltet. Stattdessen sollte die Funktion exif_read_data() verwendet werden.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Was genau bedeutet "Vibe Coding"? Ein tiefgehender Blick für Entwickler

In der Welt der Softwareentwicklung gibt es unzählige Wege, wie man an ein Projekt herangeht. Manche schwören auf strikte Planung, andere auf bewährte Algorithmen und wieder andere lassen sich von etwas ganz anderem leiten: ihrem Gefühl. ...

admin

Autor : admin
Kategorie: Software & Web-Development

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Best practices for PHP in 2025?

I’ve been working with PHP for a while, but I’m curious about the community’s thoughts: What do you think are the most important best pract ...

Geschrieben von helen9k am 08.09.2025 03:49:25
Forum: Ankündigungen
How do you keep up with PHP and Database updates?

Hello everyone, PHP and database systems (MySQL, PostgreSQL, etc.) are evolving so quickly. Sometimes it feels hard to stay updated with new vers ...

Geschrieben von helen9k am 06.09.2025 10:35:52
Forum: Ankündigungen
Best Way to Handle Millions of Rows in MySQL – Indexing vs Partitioning?

Hi everyone, I’m working with a MySQL table that already has several million rows, and performance is starting to slow down (queries and joins ...

Geschrieben von helen9k am 06.09.2025 10:31:12
Forum: SQL / Datenbanken
Best Practices for Handling User Login and Session Security in PHP

Hi everyone, I’ve been working on a small PHP project with user login functionality, and I want to make sure I’m following good practices for ...

Geschrieben von helen9k am 06.09.2025 09:39:26
Forum: PHP Developer Forum