Christophe Meneses - Développeur
  • Liste des articles
  • Contact
  • Linkedin
  • Github
  • Flux RSS
Tous les articles PHP / Symfony Supprimer les messages de dépréciation de type : The "sensio_framework_extra.routing.loader.annot_*" service is deprecated since version 5.2
PHP Symfony

Supprimer les messages de dépréciation de type : The "sensio_framework_extra.routing.loader.annot_*" service is deprecated since version 5.2

Publié le 21/09/2019.

Si vous êtes encore sur Symfony 3.4 et que vous voulez migrer vers Symfony 4, vous allez probablement tomber sur ce type de message :
User Deprecated: The "sensio_framework_extra.routing.loader.annot_class" service is deprecated since version 5.2
User Deprecated: The "sensio_framework_extra.routing.loader.annot_dir" service is deprecated since version 5.2
User Deprecated: The "sensio_framework_extra.routing.loader.annot_file" service is deprecated since version 5.2.
Cet article va vous aider à supprimer ce code déprécié.

Procédure à suivre

Ces messages apparaissent si vous utilisez les annotations du SensioFrameworkExtraBundle. Par exemple, les annotations @Route ou @Method pour le routing :

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

[...]

class FooController extends Controller
{
    /**
     * @Route("/index", name="foo_index")
     * @Method({"GET"})
     */
    public function index(Request $request): Response
    {
        [...]
    }
}

Le code ci-dessus va générer les messages de dépréciations vus en début d'article.

Pour les supprimer, il faut utiliser à la place les annotations du composant routing de Symfony. Après remplacement, on obtient le code ci-dessus :

use Symfony\Component\Routing\Annotation\Route;

[...]

class FooController extends Controller
{
    /**
    * @Route("/index", name="foo_index", methods={"GET"})
    */
    public function index(Request $request): Response
    {
        [...]
    }
}

Cette intervention dans le code PHP ne suffit pas. Il faut savoir que par défaut, les annotations du SensioFrameworkExtraBundle sont activées même si vous ne les utilisez pas.

Il faut donc qu'on les désactive. Cette étape est effectuée automatiquement dans les projets utilisant Flex car la recette existante ajoute la configuration nécessaire.

Pour les vieux projets (notre cas), on doit le faire manuellement. Ouvrez le fichier app/config/config.yml et ajoutez la configuration ci-dessous :

sensio_framework_extra:
    router:
        annotations: false

Si vous naviguez maintenant dans votre application, les messages de dépréciations devraient avoir totalement disparus.

Version

Cet article a été testé avec :

Symfony : 3.4 vers 4.3
PHP : 7.3
Début de l'article

Tous les articles PHP / Symfony Supprimer les messages de dépréciation de type : The "sensio_framework_extra.routing.loader.annot_*" service is deprecated since version 5.2

Liste des articles par catégorie

  1. Tous 124
  2. Apache2
  3. APC1
  4. Assetic2
  5. Bash2
  6. CentOS9
  7. Composer6
  8. CSS1
  9. Debian1
  10. Deployer1
  11. Design Pattern11
  12. Docker6
  13. Doctrine14
  14. Elasticsearch3
  15. Git6
  16. Google Charts1
  17. Hardware1
  18. Hébergement1
  19. JavaScript1
  20. jQuery4
  21. Kibana2
  22. Logstash1
  23. Machine Learning1
  24. MariaDB2
  25. Memcached2
  26. MySQL3
  27. Nginx2
  28. Panther3
  29. PHP59
  30. PHP_CodeSniffer1
  31. PHP-FPM2
  32. PhpMyAdmin1
  33. PhpStorm3
  34. PHPUnit6
  35. PostgreSQL2
  36. RabbitMQ2
  37. SQL1
  38. SVN4
  39. Sybase ASE1
  40. Symfony56
  41. Twig3
  42. Ubuntu14
  43. Vue.js2
  44. Vuex1
  45. Webpack Encore1
  46. Xdebug5

Derniers articles publiés

PHP
Différence entre les mots clés self et static dans le langage PHP

Symfony / Docker / Nginx
Migrer un projet Symfony du protocole HTTP 1.1 au protocole HTTP 2

Vue.js
Utiliser un filtre Vue.js directement dans le JavaScript

PHP / Symfony
Supprimer les messages de dépréciation de type : The "sensio_framework_extra.routing.loader.annot_*" service is deprecated since version 5.2

Symfony / RabbitMQ
Exemple d'utilisation du composant Messenger pour envoyer des emails en asynchrone avec RabbitMQ

PHP Symfony MariaDB HTML5 CSS3 JavaScript Bootstrap

© 2014 - 2019 réalisé par Christophe MENESES