2014-08-30 2 views
0

Я хочу создать собственный файл site_globals.yml (или ini) файл под app/config/ и получить доступ к его переменным с любого контроллера. Как мне это сделать?Создание глобальной переменной yml/ini для доступа с контроллеров

приложения/Config/site_globals.yml (или INI)

globals: 
    name: Symfony 
    middle: Master 
    surname: To Be 

Примечание: Я знаю, как получить доступ к параметрам parameter.yml файла в контроллерах с $this->container->getParameter('xxxxxxxx'), но я хочу, чтобы создать свои собственные файл.

Я старался, как этот блог (Symfony 2: Using Global Variables) показывает, но запутался.

ответ

1

Как статьи и документации Symfony 2 говорит:

# app/config/site_globals.yml 
parameter: 
    my_wonderful_global: xxx 
    globals: 
    name: Symfony 
    middle: Master 
    surname: To Be 

# app/config/config.yml 
imports: 
    - { resource: parameters.yml } 
    - { resource: security.yml } 
    - { resource: site_globals.yml } 

// In a controller action 
$myWonderfulGlobal = $this->container->getParameter('my_wonderful_global'); 

// This will give you an array 
$myGlobals = $this->container->getParameter('globals'); 

echo $myGlobals['name']; die(); 

Вы пытаетесь сделать что-то другое?

+0

Выполнение такой же задачи, но продолжайте получать эту ошибку: 'FileLoaderLoadException: невозможно импортировать ресурс" /var/www/html/local/sport/app/config/site_globals.yml "из"/var/www/html/local/спорт/приложение/Config/config.yml». (Нет расширения, которое может загрузить конфигурацию для «my_wonderful_global» (в /var/www/html/local/sport/app/config/site_globals.yml). Посмотрел на пространство имен «my_wonderful_global», нашел «framework», «security »,« twig »,« monolog »,« swiftmailer »,« assetic »,« doctrine »,« sensio_framework_extra »,« football_team »,« web_profiler »,« sensio_distribution »)' – BentCoder

+0

В пользовательском yml-файле отсутствовал параметр. – BentCoder

Смежные вопросы