我可以从Symfony2中的容器中到达“/ web”路径吗?

时间:2015-06-23 14:45:25

标签: php symfony symfony-2.6

我需要在/web/import路径中保存文件,我问的是实现这一目标的最佳方法。我在/Service/SyncController.php中定义了一个类,它从Controller扩展:

class SyncController extends Controller { ... } 

该类也定义为服务:

sync.service:
    class: PDI\PDOneBundle\Service\SyncController
    arguments: ["@service_container", "@doctrine.orm.entity_manager", "@request_stack", "%kernel.root_dir%"]

我是否需要传递参数"%kernel.root_dir%"才能访问网络路径为$this->webRoot = realpath($rootDir . '/../web'),或者我可以从@service_container执行此操作?获取/web/import路径以便在其中保存文件的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

我们使用此配置来做到这一点。

in parameters.yml

upload_path: "/images/uploads"
upload_dir: "%kernel.root_dir%/../web%upload_path%"

我们从dir分割路径只是为了简化阅读。

在控制器中:

$work_dir = $this->container->getParameter('upload_dir');