をバンドルアップロードに渡す私はsymfonyの3.3symfonyの:どのように独自のパス
を使用しています私は自分のアプリケーションにvendor/
に作曲を経由して、インストールバンドルを作成しました。私は依存性注入を介してそれに注入するいくつかのymlファイルを必要とするこのバンドルを持っています。これまでのところすべてがOKです。しかし、私はまたこのバンドルの中にすでに1つのymlファイルを持っており、このバンドルはこの(自分の)ファイルのパスを知る必要があります。
現在、私はそれがうまく動作しますが、私はそれが適切な解決策だとは思わない、私のバンドルのクラスの一つ
protected const LOCAL_FILE = __DIR__.'/../Resources/translations/ru.yml';
でこれを持っています。私はこのクラスに%kernel.root_dir%
を渡そうとしますが、それでも私は全体のパスを推測することはできません。
私はそれを最善の方法でやるべきでしょうか?
UPDATE:あなたはSymfony\Component\HttpKernel::locateResource()
メソッドを使用している場合がありますlocateResource
protected const LOCAL_FILE = '@MyBundle/Resources/translations/ru.yml';
....
....
$this->kernel->locateResource(self::LOCAL_FILE)
カーネルの 'locateResource'メソッドを確認してください。 http://api.symfony.com/3.3/Symfony/Component/HttpKernel/KernelInterface.html#method_locateResource – zerkms
@zerkmsこのメソッドにアクセスするには、 'services.yml'のクラスのコンストラクタに何を渡しますか? – user7808407
'@カーネル'? ........ – zerkms