update page now

The Deprecated attribute

(PHP 8 >= 8.4.0)

Introduction

This attribute is used to mark functionality as deprecated. Using deprecated functionality will cause an E_USER_DEPRECATED error to be emitted.

Class synopsis

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

Properties

message

An optional message explaining the reason for the deprecation and possible replacement functionality. Will be included in the emitted deprecation message.

since

An optional string indicating since when the functionality is deprecated. The contents are not validated by PHP and may contain a version number, a date or any other value that is considered appropriate. Will be included in the emitted deprecation message.

Functionality that is part of PHP will use Major.Minor as the since value, for example '8.4'.

Examples

<?php

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

unsafe_function();

?>

Output of the above example in PHP 8.4 is similar to:

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

Table of Contents

add a note

User Contributed Notes 1 note

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