Das Attribut Deprecated

(PHP 8 >= 8.4.0)

Einführung

Dieses Attribut wird verwendet, um eine Funktionalität als veraltet zu kennzeichnen. Die Verwendung einer veralteten Funktionalität führt zur Ausgabe eines Fehlers der Stufe E_USER_DEPRECATED.

Klassenbeschreibung

#[\Attribute]
final class Deprecated {
/* Eigenschaften */
public readonly ?string $message;
public readonly ?string $since;
/* Methoden */
public __construct(?string $message = null, ?string $since = null)
}

Eigenschaften

message

Eine optionale Meldung, die den Grund für die Abschaffung der Funktionalität und mögliche Funktionen für den Ersatz erläutert. Wird in die ausgegebene Meldung über die veraltete Funktionalität aufgenommen.

since

Eine optionale Zeichenkette, die angibt, seit wann die Funktionalität veraltet ist. Der Inhalt wird nicht von PHP überprüft und kann eine Versionsnummer, ein Datum oder einen anderen Wert enthalten, der als angemessen erachtet wird. Wird in die ausgegebene Meldung über die veraltete Funktionalität aufgenommen.

PHP-eigene Funktionalitäten verwenden Hauptversion.Nebenversion als Wert für since, zum Beispiel '8.4'.

Beispiele

<?php

#[\Deprecated(message: "use safe_replacement() instead", since: "1.5")]
function
unsafe_function()
{
echo
"Dies ist unsicher", PHP_EOL;
}

unsafe_function();

?>

Das oben gezeigte Beispiel erzeugt mit PHP 8.4 eine ähnliche Ausgabe wie:

Deprecated: Function unsafe_function() is deprecated since 1.5, use safe_replacement() instead in example.php on line 9
Dies ist unsicher

Inhaltsverzeichnis

add a note

User Contributed Notes 1 note

up
0
razvan_bc at yahoo dot com
8 days ago
It is a useful function if you have written macro functions = PHP enhanced and with a series of parameters (custom macro compiler) you compile -like me - from the project (several php files,media)->website /app in multiple ways: production, developing=debuging.
otherwize would be like with the guys who write minified JS and generate JS and map and include them in production: while.map is intended for debugging in the developing phase, it is not intended for production (you don't put untested code in production and the badge on the chest of "pro").
If a password is wrong, if an extension is missing, it stops working: DO NOT PUT THE LOG ON THE SCREEN !! DON'T PUT "CONTACT ADMINISTRATOR @"! DON'T GIVE FEEDBACK TO ATTACKERS SO THAT THEY CAN INCREASE THE EFFECTIVENESS OF ATTACKS!!!
This is PHP and that's how it should stay..
To Top