2014-01-09 5 views
10

У меня есть раздел в ини файлов с некоторыми используемыми во всем мире социальных связей, напр:Самый простой способ доступа к значениям конфигурации Phalcon в представлениях?

[social] 
fb = URL 
twitter = URL 
linkedin = URL 

Что это самый простой способ получить доступ к этим, или есть лучший способ организовать эти глобальные переменные?

+0

$ конфиг = новый \ Phalcon \ Config \ адаптер \ Ini ("путь/config.ini"); от http://docs.phalconphp.com/ru/latest/reference/config.html –

+1

как я могу получить доступ к этому файлу представления? edit: volt –

+0

http://stackoverflow.com/questions/13186966/cross-controller-variables-in-phalcon –

ответ

26

Если вы прочитали свой конфигурационный файл при инициализации/bootstraping вашего приложения и сохранили его в контейнере DI, он будет доступен через это в каждой части вашего приложения.

Пример - самозагрузки

$di   = new \Phalcon\DI\FactoryDefault(); 
$configFile = ROOT_PATH . '/app/var/config/config.ini'; 

// Create the new object 
$config = new \Phalcon\Config\Adapter\Ini($configFile); 

// Store it in the Di container 
$di->set('config', $config); 

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

echo $this->config->social->twitter; 

Просмотров через Volt:

{{ config.social.twitter }} 

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

class ControllerBase() 
{ 
    public function initialize() 
    { 
     parent::initialize(); 

     $this->view->setVar('social', $this->config->social); 
    } 
} 

, а затем получить доступ к этой переменной через ваш взгляд:

{{ social.twitter }} 
Смежные вопросы