CodeIgniter-доступ к переменной $config в представлении
довольно часто мне нужно получить доступ к $config
переменные в представлениях.
Я знаю, что могу передать их от контроллера к load->view()
.
Но это кажется чрезмерным, чтобы делать это явно.
есть ли какой-то способ или хитрость, чтобы открыть $config
переменная из представлений CI без
тревожные контроллеры с запасным кодом?
9 ответов
$this->config->item()
работает нормально.
например, если файл config содержит $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']
если ваш конфигурационный файл также пришел к картинке, вы должны получить доступ, например, я включаю приложение.php в папке config у меня есть переменная
$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";
в приложения/вид/заголовок.php (при условии html-кода)
<title><?=$this->config->item("HTML_TITLE");?> </title>