CodeIgniter - доступ к переменной $config

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

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

Ответы

Ответ 1

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

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

Ответ 2

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

Ответ 3

Вы можете сделать что-то вроде этого:

$ci = get_instance(); // CI_Loader instance
$ci->load->config('email');
echo $ci->config->item('name');

Ответ 4

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

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

Ответ 5

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

Ответ 6

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"

Ответ 7

Извлечение элементов конфигурации

Чтобы извлечь элемент из файла конфигурации, используйте следующую функцию:

$this- > config- > пункт ( 'item_name');

Где item_name - это индекс массива $config, который вы хотите получить. Например, чтобы выбрать ваш язык, вы сделаете это:

$lang = $this- > config- > item ('language');

Функция возвращает NULL, если элемент, который вы пытаетесь извлечь, не существует.

Если вы используете второй параметр функции $this- > config- > load, чтобы назначить свои элементы конфигурации конкретному индексу, вы можете получить его, указав имя индекса в второй параметр функции $this- > config- > item(). Пример:

// Loads a config file named blog_settings.php and assigns it to an index named "blog_settings"
$this->config->load('blog_settings', TRUE);

// Retrieve a config item named site_name contained within the blog_settings array
$site_name = $this->config->item('site_name', 'blog_settings');

// An alternate way to specify the same item:
$blog_config = $this->config->item('blog_settings');
$site_name = $blog_config['site_name'];

Настройка элемента конфигурации

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

$this- > config- > set_item ('item_name', 'item_value');

Где item_name - это индекс массива $config, который вы хотите изменить, а item_value - его значение.

Ответ 8

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

Ответ 9

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

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

В приложениях /view/header.php(предполагая html-код)

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

Пример заголовка

Ответ 10

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

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