Veraltete Features

PHP-Kern

Verschachtelte ternäre Operatoren ohne explizite Klammern

Verschachtelte ternäre Operationen müssen nun explizit Klammern verwenden, um die Reihenfolge der Operationen festzulegen. Wenn in der Vergangenheit keine Klammern verwendet wurden, führte die Links-Assoziativität in den meisten Fällen nicht zum erwarteten Verhalten.

<?php
5;   // veraltet
(3) ? 5// OK
: (5); // OK
?>

Klammern sind nicht erforderlich, wenn der mittlere Operand umschlossen wird, da dies immer eindeutig ist und nicht durch die Assoziativität beeinflusst wird:

1 ? 2 ? 3 : 4 : 5 // OK

Zugriff auf Array- und Zeichenketten-Offset mit geschweiften Klammern

Die Syntax für den Zugriff auf Array- und String-Offsets mit geschweiften Klammern ist veraltet. Statt $var{$idx} sollte $var[$idx] verwendet werden.

Die Typumwandlung (real) und die Funktion is_real()

Die Typumwandlung (real) ist veraltet, stattdessen (float) verwendet werden.

Die Funktion is_real() ist ebenfalls veraltet, stattdessen sollte is_float() verwendet werden.

Aufhebung der Bindung von $this, wenn $this verwendet wird

Die Bindung von $this an eine nicht-statische Closure aufzuheben, die $this verwendet, ist veraltet.

Schlüsselwort parent ohne übergeordnete Klasse

Die Verwendung von parent innerhalb einer Klasse ohne Elternklasse ist veraltet und wird in Zukunft einen Fehler bei der Kompilierung auslösen. Derzeit wird ein Fehler nur dann erzeugt, wenn zur Laufzeit auf die Elternklasse zugegriffen wird.

INI-Option allow_url_include

Die INI-Direktive allow_url_include ist veraltet. Wenn sie aktiviert ist, wird beim Start ein entsprechender Hinweis erzeugt.

Ungültige Zeichen in Funktionen zur Umwandlung der Basis

Die Übergabe unzulässiger Zeichen an die Funktionen base_convert(), bindec(), octdec() und hexdec() führt nun zu einem Hinweis auf eine veraltete Verwendung. Das Ergebnis wird so berechnet, als gäbe es das unzulässige Zeichen nicht. Führende und nachfolgende Leerzeichen sowie Präfixe wie 0x (je nach Zahlensystem) sind weiterhin zulässig.

Die Anwendung von array_key_exists() auf Objekte

Die Anwendung der Funktion array_key_exists() auf Objekte ist veraltet. Stattdessen sollte entweder isset() oder property_exists() verwendet werden.

Funktionen für "magische Anführungszeichen" (Magic Quotes)

Die Funktionen get_magic_quotes_gpc() und get_magic_quotes_runtime() sind veraltet. Sie geben immer false zurück.

Die Funktion hebrevc()

Die Funktion hebrevc() ist veraltet. Sie kann durch nl2br(hebrev($str)) ersetzt werden oder, besser, indem die Unterstützung von Unicode-RTL genutzt wird.

Die Funktion convert_cyr_string()

Die Funktion convert_cyr_string() ist veraltet. Sie kann durch mb_convert_string(), iconv() oder UConverter ersetzt werden.

Die Funktion money_format()

Die Funktion money_format() ist veraltet. Sie kann durch die Funktionalität der intl-Klasse NumberFormatter ersetzt werden.

Die Funktion ezmlm_hash()

Die Funktion ezmlm_hash() ist veraltet.

Die Funktion restore_include_path()

Die Funktion restore_include_path() ist veraltet. Sie kann durch ini_restore('include_path') ersetzt werden.

Reihenfolge der Parameter bei implode()

Die Übergabe von Parametern an die Funktion implode() in umgekehrter Reihenfolge ist veraltet, statt implode($parts, $glue) sollte implode($glue, $parts) verwendet werden.

COM

Der Import von Typbibliotheken, bei denen die Groß- und Kleinschreibung von Konstanten nicht beachtet wird, ist veraltet.

Filter

Der Filter FILTER_SANITIZE_MAGIC_QUOTES ist veraltet, stattdessen sollte FILTER_SANITIZE_ADD_SLASHES verwendet werden.

Multibyte-Zeichenketten

Bei der Funktion mb_ereg_replace() ist die Übergabe eines Musters, das keine Zeichenkette ist, veraltet. Gegenwärtig werden solche Muster als ASCII-Codepunkte interpretiert. In PHP 8 wird das Muster stattdessen als Zeichenkette interpretiert.

Bei der Funktion mb_strrpos() ist die Übergabe der Kodierung als 3. Parameter veraltet. Stattdessen sollten ein 0-Offset und die Kodierung als 4. Parameter übergeben werden.

Lightweight Directory Access Protocol (LDAP)

Die Funktionen ldap_control_paged_result_response() und ldap_control_paged_result() sind veraltet. Steuerelemente für die Seitennavigation können stattdessen zusammen mit ldap_search() gesendet werden.

Reflection

Der Aufruf von ReflectionType::__toString() erzeugt nun einen Hinweis auf eine veraltete Funktion. Diese Methode wird in der Dokumentation seit PHP 7.1 als veraltet zugunsten von ReflectionNamedType::getName() bezeichnet, hat aber aus technischen Gründen keinen entsprechenden Hinweis erzeugt.

Die export()-Methoden sind in allen Klassen von Reflection veraltet. Stattdessen sollte ein Reflection-Objekt erzeugt werden und dieses in eine Zeichenkette umgewandelt werden:

<?php
// Anstelle von ReflectionClass::export(Foo::class, false):
echo new ReflectionClass(Foo::class), "\n";

// Anstelle von $str = ReflectionClass::export(Foo::class, true):
$str = (string) new ReflectionClass(Foo::class);
?>

Socket

Bei der Funktion socket_addrinfo_lookup() sind die Flags AI_IDN_ALLOW_UNASSIGNED und AI_IDN_USE_STD3_ASCII_RULES veraltet und entsprechen damit der zugrundeliegenden Glibc.

Hier Kannst Du einen Kommentar verfassen


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

Technisches SEO bleibt relevant

Technisches SEO – Was ist das überhaupt? Technisches SEO bezieht sich auf die Optimierung der technischen Aspekte deiner Webseite. Das Ziel ist klar! ...

admin

Autor : admin
Kategorie: SEO & Online-Marketing

Was ist neu in der PHP 8.2.10

PHP 8.2.10 ist eine der neuesten Versionen von PHP, die eine Reihe von Verbesserungen und neuen Funktionen mit sich bringt. In diesem Artikel werden wir einige der herausragenden Neuerungen und Verbesserungen dieser Version diskutieren. ...

admin

Autor : admin
Kategorie: Software-Updates

Total Commander 11.00 (final) ist verfügbar!

Total Commander, ein beliebter Datei-Manager, hat kürzlich seine neueste Version, 11.00, veröffentlicht. Mit einer Vielzahl von neuen Funktionen und Korrekturen bietet diese Version den Benutzern ein verbessertes und optimiertes Erlebnis. ...

admin

Autor : admin
Kategorie: Software-Updates

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

Warning: Undefined variabl

völlig übersehen, ja der code müssste mal überrbeitet werden. mit http_client ... ect. gut zu wissen. hat sich ja doch mehr verändert als ged ...

Geschrieben von derneue1 am 20.02.2024 00:00:45
Forum: PHP Developer Forum
Warning: Undefined variabl

Ähm, die weißt schon, dass wir hier von Grundlagen reden, oder? if ($new)​ if (isset($new))​ $ers["username"] = "" . $ers["username"] . ...

Geschrieben von scatello am 19.02.2024 21:00:38
Forum: PHP Developer Forum
Warning: Undefined variabl

ok, das geht. eigentlich war das reporting vorher auch immer an, komisch. und wie sieht das hier aus ? Warning: Undefined variable $new in /var/ww ...

Geschrieben von derneue1 am 19.02.2024 18:55:03
Forum: PHP Developer Forum
Warning: Undefined variabl

ich bunutze schon lange ein script was immer funktioniert hat. Das lag aber nur daran, dass du das Error-Reporting nicht hochgedreht hast, denn da ...

Geschrieben von scatello am 19.02.2024 17:59:56
Forum: PHP Developer Forum