Класс конфигурации Config

 

Класс Config предоставляет средства для получения конфигурационных настроек. Настройки могут быть получены из стандартного файла (application/config/config.php) либо из пользовательских файлов конфигурации.
Примечание: класс инициализируется автоматически, не нужно его подключать вручную.

Структура файла конфигурации

По умолчанию в CodeIgniter существует один основной файл конфигурации application/config/config.php. Если вы откроете этот файл при помощи текстового редактора, вы увидите что параметры конфигурации хранятся в массиве $config.

Вы можете добавить собственные записи в этот файл, либо вынести пользовательские параметры конфигурации (если они вообще вам нужны) в отдельный файл в каталоге config.

Если вы создали собственный файл конфигурации, то параметры в нем также нужно хранить в массиве $config. CodeIgniter способен обрабатывать различные файлы конфигурации таким образом, чтобы не возникало конфликтов даже с учетом того, что массивы имеют одинаковые названия (при условии что индексы массивов не совпадают).

Загрузка файла конфигурации

Примечание: CodeIgniter автоматически загружает файл application/config/config.php, загружать вручную нужно только пользовательские файлы конфигурации.

Существуют два способа загрузки конфигурационного файла:

1. Загрузка вручную

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

  1. $this->config->load('filename');

Здесь filename - имя файла конфигурации, который должен быть загружен, без расширения .php.

Если вам нужно загрузить несколько файлов конфигурации, то обычно они будут объединены в один массив данных. При этом может возникнуть пересечение имен параметров, если вы используете одинаковые индексы массива $config в разных пользовательских файлах конфигурации. Для того, чтобы избежать такой ситуации, нужно в качестве второго параметра функции загрузки файла конфигурации передать TRUE.

  1. // Значения будут сохранены следующим образом: $this->config['blog_settings'] = $config
  2. $this->config->load('blog_settings', TRUE);

Пожалуйста прочтите раздел Получение значений параметров в данной главе для того, чтобы понять как читать параметры загруженные описанным выше способом.

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

  1. $this->config->load('blog_settings', FALSE, TRUE);

2. Автоматическая загрузка файла конфигурации

Если какой-либо файл конфигурации нужен вам повсеместно, вы можете загружать его автоматически. Для этого октройте файл autoload.php, расположенный в каталоге application/config и добавьте свой файл конфигурации как показано в этом файле.

Получение значений параметров

Для получение значения параметра конфигурации используйте следующую функцию:

  1. $this->config->item('item name');

Здесь item name - индекс массива $config, значение которого вы хотите получить. К примеру, чтобы получить выбранный язык приложения вам понадобится сделать следующее:
  1. $lang = $this->config->item('language');

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

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

  1. // Loads a config file named blog_settings.php and assigns it to an index named "blog_settings"
  2. $this->config->load('blog_settings', TRUE);
  3.  
  4. // Retrieve a config item named site_name contained within the blog_settings array
  5. $site_name = $this->config->item('site_name', 'blog_settings');
  6.  
  7. // An alternate way to specify the same item:
  8. $blog_config = $this->config->item('blog_settings');
  9. $site_name = $blog_config['site_name'];

Установка значения параметра конфигурации:

Если вам нужно динамически установить или изменить значение параметра конфигурации, воспользуйтесь следующим кодом:
$this->config->set_item('item_name', 'item_value');
Здесь item_name - название параметра конфигурации, item_value - его значение.

Вспомогательные функции

Класс config содержит следующие вспомогательные функции:

$this->config->site_url();

Функция возвращает URL для доступа к сайту с учетом значения "index" прописанного в глобальном файле конфигурации.

$this->config->system_url();

Функция возвращает URl для доступа к системному каталогу вашего приложения.

Отправить комментарий

  • Allowed HTML tags: <em> <b> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <h2> <h3> <h4> <table> <tr> <td> <th>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]". PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Подробнее о форматировании

CAPTCHA
Этот вопрос предназначен для того, чтобы отсеять ботов

Вход в систему

Последние комментарии