Довольно часто мне нужно получить доступ к переменным $config
в представлениях. Я знаю, что могу передать их с контроллера на load->view()
. Но сделать это явно излишне.
Есть ли способ или трюк, чтобы получить доступ к переменной $config
из представлений CI, не нарушая работу контроллеров с помощью запасного кода?
$this->config->item()
работает нормально.
Например, если файл конфигурации содержит $config['foo'] = 'bar';
то $this->config->item('foo') == 'bar'
Кроме того, общая функция config_item()
работает почти везде во всем экземпляре CodeIgniter. Контроллеры, модели, представления, библиотеки, помощники, перехватчики, что угодно.
Вы можете сделать что-то вроде этого:
$ci = get_instance(); // CI_Loader instance $ci->load->config('email'); echo $ci->config->item('name');
$this->config->item('config_var')
не работал для моего случая.
Я мог использовать только config_item('config_var');
для эхо-переменных в представлении
Ваш контроллер должен собирать всю информацию из баз данных, конфигов и т. Д. Есть много веских причин придерживаться этого. Одна из веских причин заключается в том, что это позволит вам легко изменить источник этой информации и не вносить никаких изменений в ваши представления.
echo $this->config->config['ur config file']
Если ваш файл конфигурации также появляется на картинке, вы должны получить доступ, как это, например, я включаю app.php в папку конфигурации. У меня есть переменная
$config['50001'] = "your message"
Теперь я хочу получить доступ к контроллеру или модели.
Попробуйте выполнить два случая, над которыми нужно работать
Дело 1:
$msg = $this->config->item('ur config file'); echo $msg['50001']; //out put: "your message";
Вариант 2:
$msg = $this->config->item('50001'); echo $msg; //out put: "your message"
Всякий раз, когда мне нужно получить доступ к конфигурационным переменным, я стараюсь использовать: $ this-> config-> config ['variable_name'];
Вот как я это сделал. В config.php
$config['HTML_TITLE'] = "SO TITLE test";
В приложениях / view / header.php (предполагая html-код)
<title><?=$this->config->item("HTML_TITLE");?> </title>
$config['cricket'] = 'bat';
в файле config.php
$this->config->item('cricket')
использует это в представлении