Symfony2:如何在Symfony CLI命令中设置根路径

时间:2012-03-09 13:02:42

标签: symfony twig

编辑: 削减这个简短:有没有办法调用$ kernel-> getRootDir();从枝条延伸?或者也许来自DI容器?

原始问题:

我尝试使用Imagine在服务器上缩放图像。一切正常,因为我不尝试通过命令行触发渲染: 在这种情况下,它看起来有一个错误的路径设置 - 我收到一个错误:

[Twig_Error_Runtime]

  

在渲染模板期间抛出了异常   (“文件../web/documents/4f59ef3f76e74_test3.jpg不存在”)in   在第72行“....:detail.html.twig”。

我正在使用我自己写的树枝标签:

 public function thumbnail($path,$width,$maxHeight=0,$alt="",$absolute=false){

        /* @var $imagine \Imagine\Gd\Imagine */
        $imagine = $this->container->get('imagine');

        //$box = new \Imagine\Image\Box($width, $height);

        /* @var $image \Imagine\Image\ImageInterface */
        $image = $imagine->open("../web/".$path);
...

我也试过这个(当我通过浏览器请求渲染模板时都有效)

$image = $imagine->open($path);

$ path设置为“documents / 4f59ef3f76e74_test3.jpg” “documents /”是“web”的子目录

有什么想法吗?

1 个答案:

答案 0 :(得分:10)

哈 - 找到了!这将检索Web文件夹的绝对系统文件路径:

$webRoot = $this->container->get('kernel')->getRootDir()."/../web";