Symfony2 Определите каталог загруженных носителей в файле конфигурации и получите к нему доступ в ветке контроллера

В моем проекте у меня есть много различных типов документов пользователя, которые будут загружены. Я использую локальный диск для сохранения медиа и только сохранить файл. Он хочет определить загруженный каталог только в файле конфигурации (по категориям), получить к нему доступ в файлах контроллера и веток. так что, если я изменил путь к медиа позже, я должен изменить его только один раз и должен работать везде?

Я знаю, что для этого доступно множество пакетов, но я не использую какой-либо пакет, который использовал доктрину для загрузки этого медиа. Более того, позже я также перенесу этот носитель на Amazon S3.

1 ответ

Вы можете сделать это прямо в settings.yml:

parameters:
    /.../
    media_directory: '%kernel.root_dir%/../web/uploads'

И вы можете иметь доступ в контроллере, как и все остальные параметры:

public function someAction() 
{
    $directory = $this->getParameter('media_directory');
}

РЕДАКТИРОВАТЬ

Для ветки попробуйте вот так:

<p>Media Directory: {{ media_directory }}</p>

Раньше я думаю, что вы должны объявить глобальный var ветки в app/config/config.yml:

# Twig Configuration
twig:
    globals:
        media_directory: %media_directory%
Другие вопросы по тегам