Silex\Application現在、当初の予想よりも大きくなった a をリファクタリングしています。この作業の一環として、サービス定義をソースから services.yml に移動し、Symfony\Component\DependencyInjection\ContainerBuilder代わりに a を呼び出します。コードは次のようになります。
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator(__DIR__));
$loader->load(__DIR__ . '/services.yml');
の作成の一部である次のコード行を考えてみましょうDoctrine\ORM\EntityManager。
Setup::createAnnotationMetadataConfiguration(array("src/Project/Entity"), true);
私のservices.ymlでは次のようになります。
services:
doctrine_config:
class: Doctrine\ORM\Configuration
factory_class: Doctrine\ORM\Tools\Setup
factory_method: createAnnotationMetadataConfiguration
arguments:
- [src/Project/Entity]
- true
最後に、私の質問です。たとえば、Doctrine-Setup の最初の引数としての代わりに[src/Project/Entity]、次のようなことをしたい:[%ROOT_PATH%/src/Project/Entity]の%ROOT_PATH%ように ContainerBuilder に追加されます。$container->???('ROOT_PATH', dirname(__DIR__)).
ドキュメントにはこのようなものは何も見つかりませんでした。ContainerBuilder.php を読んで何かを見つけられるかどうかを確認しますが、用語についてはわかりません。たとえば%OOT_PATH%、私のシナリオでは変数、定義、エイリアスであるかどうか...