Довольно часто мне нужен доступ $config
переменным в представлениях. Я знаю, что могу передать их от контроллера к load->view()
. Но делать это явно излишне.
Есть ли способ или уловка для доступа к $config
переменной из представлений CI, не нарушая контроллеры запасным кодом?
php
codeigniter
AlexA
источник
источник
Кроме того, функция Common
config_item()
работает практически везде в экземпляре CodeIgniter. Контроллеры, модели, представления, библиотеки, помощники, хуки, что угодно.источник
config_item()
него нет защиты от столкновений, которая доступна в$this->config->item()
Вы можете сделать что-то подобное:
источник
$this->config->item('config_var')
не сработало в моем случае.Я мог использовать только
config_item('config_var');
для отображения переменных в представленииисточник
Ваш контроллер должен собирать всю информацию из баз данных, конфигураций и т.д. Есть много веских причин придерживаться этого. Одна из веских причин заключается в том, что это позволит вам довольно легко изменить источник этой информации, и вам не придется вносить какие-либо изменения в свои представления.
источник
Когда мне нужно получить доступ к переменным конфигурации, я обычно использую: $ this-> config-> config ['variable_name'];
источник
Если ваш файл конфигурации также появляется на картинке, вам нужно получить доступ, например, я включаю app.php в папку конфигурации, у меня есть переменная
Теперь мне нужен доступ к моему контроллеру или модели.
Попробуйте следующие два случая, которые должны работать
Случай 1:
case2:
источник
Вот как я это сделал. В config.php
В приложениях / view / header.php (при условии, что код HTML)
источник
$config['cricket'] = 'bat';
в файле config.php$this->config->item('cricket')
используйте это в видуисточник
Если вы пытаетесь получить доступ к переменной конфигурации в контроллер, чем используйте
Если вы пытаетесь получить доступ к переменной конфигурации за пределами контроллера (помощник / хуки), используйте
источник
Например, если у вас есть:
установите в своем config.php, затем
Это очень хорошо работает почти в любом месте.
источник