2017-12-14 12 views
2

私は既存のSymfony 3.3アプリケーションをSymfony 3.4にアップグレードします。symfony 3.4コンソールコマンド定義が認識されない

私は、バンドルのservices.ymlファイルでコマンドを定義したにもかかわらず、コンソールコマンドの自動登録に関する警告が表示されています。警告:

[2017年12月14日午前12時22分19秒] php.INFO:ユーザー非推奨: の自動登録コマンド "Dplh \ DplhIssuesBundle \コマンド\ IssuesReportCommandは" symfonyの3.4から非推奨 です4.0ではサポートされません。代わりに、PSR-4 ベースのサービスディスカバリを使用してください。

Dplh/DplhIssuesBundle /リソース/設定/ services.ymlのエントリ:

services: 
    Dplh\DplhIssuesBundle\Command\IssuesReportCommand: 
    public: true 
    tags:  ['console.command'] 
    calls: 
     - [ saveDependencies, [ '@logger' ]] 

私は意図的に構文エラーを作成した場合ので、services.ymlファイルはsymfonyによって処理されていることを肯定していますsymfonyはそのファイルに無効なYAMLが含まれていると報告します。

+0

'Command'ディレクトリから移動しますか? (まだ3.4を使用しているのであれば、そこにあるものを見つけて不平を言うでしょう) – bishop

+0

私は、それらのservices.ymlファイルで定義されているコマンドを持つコマンドディレクトリを持つ他のプライベートバンドルを持っており、Symfonyはそれらについて文句を言いません。 –

+0

申し訳ありませんが、移動したくない場合は、遅延ロードが実際に起こるようにコマンドに名前を付ける必要があります: 'tags:{name: 'console.command'、command: 'issues:report '} '。 https://symfony.com/doc/current/console/commands_as_services.html – bishop

答えて

0

最後に見つかりました。 別のバンドルのservices.ymlファイルのDplh \ DplhIssuesBundle \ Command \ IssuesReportCommandクラスへの参照がありました(コピー/貼り付けエラーです)。

この参照を削除するとエラーが取り除かれました。

関連する問題