Могу ли я добраться до пути "/web" из контейнера в Symfony2? [дубликат]


На этот вопрос уже есть ответ здесь:

Мне нужно сохранить файл по пути /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, чтобы сохранить там файлы?

Author: ReynierPM, 2015-06-23

1 answers

Мы используем эту конфигурацию именно для этого.

В параметрах.yml

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

Мы разделили путь от dir просто для простоты чтения.

В контроллере:

$work_dir = $this->container->getParameter('upload_dir');
 2
Author: DevDonkey, 2015-06-23 15:03:52