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%