如何在Symfony 2中获取供应商下的文件路径

时间:2015-04-14 16:18:33

标签: symfony

我想解析位于ini目录下的vendor文件。

如何获取此文件的路径?

例如:

src/Acme/TestBundle/Repository/UserRepository.php我有

$file = parse_ini_file(FILE_PATH);

如何设置FILE_PATH到达vendor/test/lib/conf.ini

2 个答案:

答案 0 :(得分:5)

另一个解决方案是正确的,但它可以更短(加上这应该是当前symfony版本的方式)

public function setup()
{
    $rootDir = $this->container->getParameter('kernel.root_dir');
    $filePath = $rootDir.'/../vendor/test/lib/conf.ini';
    $file = parse_ini_file($filePath);
    ...
}

答案 1 :(得分:3)

你没有提供信息你使用什么样的测试,但你需要从那里获取容器并获取kernel.root_dir

对于WebTestCase:

public function setUp()
    {
        $kernel = static::createKernel();
        $kernel->boot();
        $rootDirectory = $kernel->getContainer()->getParameter('kernel.root_dir');
        $filePath = $rootDirectory.'/../vendor/test/lib/conf.ini;
...
}