CodeIgniter - доступ к переменной $ config в представлении - PullRequest
94 голосов
/ 13 апреля 2010

Довольно часто мне нужно получить доступ к $config переменным в представлениях. Я знаю, что могу передать их с контроллера на load->view(). Но это явно излишне делать явно.

Есть ли способ или хитрость для доступа к переменной $config из представлений CI без тревожные контроллеры с запасным кодом?

Ответы [ 9 ]

185 голосов
/ 13 апреля 2010

$this->config->item() отлично работает.

Например, если файл конфигурации содержит $config['foo'] = 'bar';, тогда $this->config->item('foo') == 'bar'

27 голосов
/ 15 апреля 2010

Кроме того, общая функция config_item() работает практически везде в экземпляре CodeIgniter. Контроллеры, модели, представления, библиотеки, помощники, хуки, что угодно.

15 голосов
/ 13 апреля 2010

Вы можете сделать что-то подобное:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');
8 голосов
/ 19 октября 2011

$this->config->item('config_var') не работает для моего случая.

Я мог бы использовать config_item('config_var'); только для отображения переменных в представлении

4 голосов
/ 14 апреля 2010

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

2 голосов
/ 21 февраля 2013
echo $this->config->config['ur config file'] 

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

$config['50001'] = "your  message"   

Теперь я хочу получить доступ в моем контроллере или модели.

Попробуйте следующие два случая, каждый должен работать

case1:

$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"
2 голосов
/ 13 апреля 2010

Всякий раз, когда мне нужно получить доступ к переменным конфигурации, я обычно использую: $ this-> config-> config ['variable_name'];

1 голос
/ 22 декабря 2016

Вот как я это сделал. В config.php

$config['HTML_TITLE'] = "SO TITLE test";

В приложениях / view / header.php (при условии HTML-кода)

<title><?=$this->config->item("HTML_TITLE");?> </title>

Example of Title

1 голос
/ 16 марта 2016

$config['cricket'] = 'bat'; в файле config.php

$this->config->item('cricket') используйте это в поле зрения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...