126 votes

Comment obtenir le répertoire racine de l'application Symfony2 ?

Quelle est la meilleure façon d'obtenir le répertoire de l'application racine à l'intérieur du contrôleur ? Est-il possible de l'obtenir à l'extérieur du contrôleur ?

Maintenant, je l'obtiens en le passant (à partir des paramètres) au service en tant qu'argument, comme ceci :

services:

    sr_processor:
        class: Pro\Processor
        arguments: [%kernel.root_dir%]

Existe-t-il un meilleur moyen, plus simple, d'obtenir cette information dans Symfony2 ?

13 votes

Votre solution est la meilleure

4 votes

Vous mélangez un service et un contrôleur.

4 votes

Pour Symfony 3.3 et les versions ultérieures, utilisez à nouveau %kernel.project_dir% pour accéder à la racine de votre projet.

-4voto

Azam Alvi Points 1148

Essayez celui-ci

$this->getRequest()->server->get('DOCUMENT_ROOT'); 

o

$this->get('request')->server->get('DOCUMENT_ROOT')

-10voto

Jerem Points 70

En PHP pur :

    // for a file file in /home/user/appName/src/App/CoreBundle/Helper/
    str_replace('src/', '', str_replace(str_replace('\\', DIRECTORY_SEPARATOR, __NAMESPACE__), '', __DIR__));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X