| 1 |
Symfony Deprecation Contracts |
| 2 |
============================= |
| 3 |
|
| 4 |
A generic function and convention to trigger deprecation notices. |
| 5 |
|
| 6 |
This package provides a single global function named `trigger_deprecation()` that triggers silenced deprecation notices. |
| 7 |
|
| 8 |
By using a custom PHP error handler such as the one provided by the Symfony ErrorHandler component, |
| 9 |
the triggered deprecations can be caught and logged for later discovery, both on dev and prod environments. |
| 10 |
|
| 11 |
The function requires at least 3 arguments: |
| 12 |
- the name of the Composer package that is triggering the deprecation |
| 13 |
- the version of the package that introduced the deprecation |
| 14 |
- the message of the deprecation |
| 15 |
- more arguments can be provided: they will be inserted in the message using `printf()` formatting |
| 16 |
|
| 17 |
Example: |
| 18 |
```php |
| 19 |
trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use "%s" instead.', 'bitcoin', 'fabcoin'); |
| 20 |
``` |
| 21 |
|
| 22 |
This will generate the following message: |
| 23 |
`Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.` |
| 24 |
|
| 25 |
While not necessarily recommended, the deprecation notices can be completely ignored by declaring an empty |
| 26 |
`function trigger_deprecation() {}` in your application. |
| 27 |
|