Désactiver l'avertissement obsolète dans Symfony 2(.Sept)

depuis ma Symfony 2 mise à jour en 2.7 . Je reçois beaucoup d'erreurs dépréciées dans PHPUnit et console (le message est clair maintenant).

ProjectXApiBundleTestsControllerSectionsControllerTest::testPostDebug()
The twig.form.resources configuration key is deprecated since version 2.6 and will be removed in 3.0. Use the twig.form_themes configuration key instead.

une idée de comment les désactiver pour l'instant?

28
demandé sur Matteo 2015-03-04 12:28:32

5 réponses

j'ai le même problème et je l'ai résolu semblable au lien ci-dessous. Symfony déclare de signaler toutes les erreurs et remplace ce que vous mettez en php.ini par la conception (sinon il ne pourrait pas attraper et afficher de belles traces de pile pour vous).

ainsi, vous aurez besoin de Outrepasser le rapport d'erreur intégré de Symfony2 en créant une fonction init() dans votre appel.php et le réglage de l'error_reporting comment vous voulez qu'il , avec (probablement) certains détection d'environnement pour s'assurer que vous n'affichez pas d'erreurs dans la production, par exemple:

// Add this to app/AppKernel.php
public function init()
{
    if ($this->debug) {
        ini_set('display_errors', 1);
        error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
    } else {
        ini_set('display_errors', 0);
    }
}

plus de détails ici (utilisez Google Translate si vous ne lisez pas le russe :) http://tokarchuk.ru/2012/12/disable-deprecated-warnings-in-symfony-2/

16
répondu phpguru 2015-03-04 21:46:04

noyau hérité D'AppKernel:: la fonction init () est dépréciée elle-même, ce qui fait que sa modification n'est pas une solution viable à long terme.

vous pouvez facilement annuler le rapport d'erreur en changeant l'appel à Debug::enable(); dans app/console et web/app_dev.php comme si.

Changement

Debug::enable();

à

Debug::enable(E_RECOVERABLE_ERROR & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, false);

cela laissera toutes les autres erreurs de déclaration dans tact tout en supprimant amorti avertissement. Et vous n'avez pas besoin de jouer avec le Noyau.

44
répondu James Grundner 2015-04-28 19:48:15

dans mon cas, je ne pouvais pas cacher l'avertissement déprécié sans utiliser la variable d'environnement SYMFONY_DEPRECATIONS_HELPER .

changer votre phpunit.xml par

<phpunit>
    <!-- ... -->

    <php>
        <env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
    </php>
</phpunit>

alors, vous aurez juste un message comme "les avis de dépréciation restants (x)" qui n'est pas considéré comme un échec de test.

Espérons que cela aidera.

28
répondu n3k 2016-06-14 13:28:58

notez que désactiver les avertissements de dépréciation via error_reporting() ou Debug::enable () ne les empêchera pas d'être connectés à dev.journal . Pour les désactiver de la journalisation, vous devrez changer le niveau de journalisation de votre gestionnaire monolog en "warning" (les avertissements de dévalorisation sont journalisés en tant qu ' "info" dans le canal "php").

alternativement, pour éviter que d'autres bûches ne soient affectées, vous pouvez créer un gestionnaire monolog séparé avec un niveau différent pour le canal " php "par exemple

monolog:
    handlers:
        main:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: debug
            formatter: monolog.formatter.session_request
            channels: '!php'
        php:
            type:  stream
            path:  %kernel.logs_dir%/%kernel.environment%.log
            level: warning
            formatter: monolog.formatter.session_request
            channels: 'php'
6
répondu Dimosthenis Nikoudis 2016-03-03 17:57:28

la brindille.la clé de configuration du formulaire a été supprimée dans la nouvelle version de Twig. Par conséquent, vous devez remplacer la clé dans votre configuration.yml

 ///DEPRECATED : 

  twig:
     form:
         resources:
             - 'path_to_template_file'

 // NEW WAY : 
  twig:
     form_themes:
         - 'path_to_template_file'
5
répondu axelvnk 2015-06-05 08:49:36