SymfonyでCI回す際に bin/console lint:yaml
でyamlのチェックすることもあるかと思います。
僕はlint系は常にCIでチェックする派です。
services.yamlでtagged_iterator
の設定をすると以下のエラーが出ました。
|
|
なぜこのエラーがでるかというと、!tagged_iterator
がYaml標準ではなくSymfony独自の拡張だからみたいです。
他にも !php/const
や !!binary
も独自の拡張みたいです。
Parsing and Dumping of Binary Data
解決策
--parse-tags
のフラグをつけることで解決できます。
|
|
最後に
Tagを使ったDIの利用方法についてはカルテッドさんのこの記事みるとよいです。
Symfonyで同種のクラスを大量に使うときDIで楽するテクニック(自作タグのススメ)
ちなみに記事中には !tagged
と紹介されていますが、現在は !tagged_iterator
に変更になっています。
Rename !tagged to !tagged_iterator
Symfonyのタグ関連覚えると、より柔軟にアプリが作れるので覚えておいて損はないかと思います。