This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Fabien Potencier 8c596bce30 feature #35526 [Contracts/Deprecation] Provide a generic function and convention to trigger deprecation notices (nicolas-grekas)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[Contracts/Deprecation] Provide a generic function and convention to trigger deprecation notices

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

This PR results from a discussion we had yesterday with @alcaeus, @beberlei and others at the Symfony UG meetup in Berlin (thanks SensioLabs for bringing me there).

It provides a generic function and convention to trigger deprecation notices, which could be a better alternative to the `@trigger_error(..., E_USER_DEPRECATED)` calls that we use currently.

This proposed package would provide a single global function named `deprecated()`.
Its purpose is to trigger deprecations in a way that can be silenced on production environment
by using the `zend.assertions` ini setting and that can be caught during development to generate reports.

The function requires at least 3 arguments:
 - the name of the package that is triggering the deprecation
 - the version of the package that introduced the deprecation
 - the message of the deprecation
 - more arguments can be provided: they will be inserted in the message using `printf()` formatting

Example:
```php
deprecated('symfony/blockchain', 8.9, 'Using "%s" is deprecated, use "%s" instead.', 'bitcoin', 'fabcoin');
```

This will generate the following message:
`Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.`

Check #35550 to see how using this function could look like on Symfony itself.

Commits
-------

f0f41cbfc5 [Contracts/Deprecation] Provide a generic function and convention to trigger deprecation notices
2020-02-05 19:14:04 +01:00
.github Merge branch '4.4' into 5.0 2020-02-03 14:51:17 +01:00
src/Symfony feature #35526 [Contracts/Deprecation] Provide a generic function and convention to trigger deprecation notices (nicolas-grekas) 2020-02-05 19:14:04 +01:00
.appveyor.yml Merge branch '4.4' into 5.0 2019-12-16 14:35:13 +01:00
.editorconfig Update .editorconfig 2018-09-06 16:22:56 +02:00
.gitignore Run the phpunit-bridge from a PR 2019-08-02 17:46:19 +02:00
.php_cs.dist Merge branch '4.4' 2019-11-05 18:15:52 +01:00
.travis.yml [Cache] Add couchbase cache adapter 2020-02-04 11:32:31 +01:00
CHANGELOG-4.0.md Merge branch '3.4' into 4.1 2018-08-01 18:22:14 +02:00
CHANGELOG-4.1.md updated CHANGELOG for 4.1.10 2019-01-06 17:16:07 +01:00
CHANGELOG-4.2.md updated CHANGELOG for 4.2.10 2019-06-26 16:19:37 +02:00
CHANGELOG-4.3.md updated CHANGELOG for 4.3.10 2020-01-21 14:13:32 +01:00
CHANGELOG-4.4.md updated CHANGELOG for 4.4.4 2020-01-31 13:44:59 +01:00
CHANGELOG-5.0.md Merge branch '5.0' 2020-02-01 11:02:10 +01:00
CODE_OF_CONDUCT.md Added the Code of Conduct file 2018-10-10 03:13:30 -07:00
composer.json Merge branch '5.0' 2020-01-04 15:20:45 +01:00
CONTRIBUTING.md Mention the community review guide 2016-12-18 22:02:35 +01:00
CONTRIBUTORS.md update CONTRIBUTORS for 3.4.37 2020-01-21 13:29:48 +01:00
LICENSE Update year in license files 2020-01-01 12:03:25 +01:00
link Merge branch '3.4' into 4.3 2019-12-06 14:11:20 +01:00
phpunit Bump phpunit-bridge cache 2020-01-31 10:55:33 +01:00
phpunit.xml.dist [Cache] Add couchbase cache adapter 2020-02-04 11:32:31 +01:00
README.md Improve Symfony description 2019-11-24 19:17:45 +01:00
UPGRADE-4.0.md Merge branch '3.4' into 4.3 2019-11-16 10:07:40 +01:00
UPGRADE-4.1.md Merge branch '4.0' into 4.1 2018-05-31 12:17:53 +02:00
UPGRADE-4.2.md Merge branch '3.4' into 4.3 2020-01-08 18:19:22 +01:00
UPGRADE-4.3.md Merge branch '4.3' into 4.4 2019-11-19 13:20:06 +01:00
UPGRADE-4.4.md add note about HTTP status code change 2019-12-23 10:53:34 -05:00
UPGRADE-5.0.md minor #35297 Improve upgrading instructions for deprecated router options (flack) 2020-01-11 08:31:01 +01:00
UPGRADE-5.1.md feature #32747 [Form] Add "is empty callback" to form config (fancyweb) 2020-02-05 17:32:36 +01:00
UPGRADE-6.0.md feature #32747 [Form] Add "is empty callback" to form config (fancyweb) 2020-02-05 17:32:36 +01:00

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony is used by thousands of web applications (including BlaBlaCar.com and Spotify.com) and most of the popular PHP projects (including Drupal and Magento).

Installation

Documentation

Community

Contributing

Symfony is an Open Source, community-driven project with thousands of contributors. Join them contributing code or contributing documentation.

Security Issues

If you discover a security vulnerability within Symfony, please follow our disclosure procedure.

About Us

Symfony development is sponsored by SensioLabs, led by the Symfony Core Team and supported by Symfony contributors.