L'attribut Deprecated

(PHP 8 >= 8.4.0)

Introduction

Cet attribut est utilisé pour marquer une fonctionnalité comme obsolète. L'utilisation d'une fonctionnalité obsolète entraînera l'émission d'une erreur E_USER_DEPRECATED.

Synopsis de la classe

#[\Attribute]
final class Deprecated {
/* Propriétés */
public readonly ?string $message;
public readonly ?string $since;
/* Méthodes */
public __construct(?string $message = null, ?string $since = null)
}

Propriétés

message

Un message optionnel expliquant la raison de l'obsolescence et la fonctionnalité de remplacement possible. Sera inclus dans le message d'obsolescence émis.

since

Une chaîne optionnelle indiquant depuis quand la fonctionnalité est obsolète. Le contenu n'est pas validé par PHP et peut contenir un numéro de version, une date ou toute autre valeur considérée comme appropriée. Sera inclus dans le message d'obsolescence émis.

Une fonctionnalité qui fait partie de PHP utilisera Major.Minor comme valeur de since, par exemple '8.4'.

Exemples

<?php

#[\Deprecated(message: "use safe_replacement() instead", since: "1.5")]
function
unsafe_function()
{
echo
"This is unsafe", PHP_EOL;
}

unsafe_function();

?>

La sortie de l'exemple ci-dessus en PHP 8.4 est similaire à :

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

Sommaire

add a note

User Contributed Notes 1 note

up
0
razvan_bc at yahoo dot com
4 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