Класс конфигурации Config
- Автор mityok on августа 12th, 2008
Класс Config предоставляет средства для получения конфигурационных настроек. Настройки могут быть получены из стандартного файла (application/config/config.php) либо из пользовательских файлов конфигурации.
Примечание: класс инициализируется автоматически, не нужно его подключать вручную.
Структура файла конфигурации
По умолчанию в CodeIgniter существует один основной файл конфигурации application/config/config.php. Если вы откроете этот файл при помощи текстового редактора, вы увидите что параметры конфигурации хранятся в массиве $config.
Вы можете добавить собственные записи в этот файл, либо вынести пользовательские параметры конфигурации (если они вообще вам нужны) в отдельный файл в каталоге config.
Если вы создали собственный файл конфигурации, то параметры в нем также нужно хранить в массиве $config. CodeIgniter способен обрабатывать различные файлы конфигурации таким образом, чтобы не возникало конфликтов даже с учетом того, что массивы имеют одинаковые названия (при условии что индексы массивов не совпадают).
Загрузка файла конфигурации
Примечание: CodeIgniter автоматически загружает файл application/config/config.php, загружать вручную нужно только пользовательские файлы конфигурации.
Существуют два способа загрузки конфигурационного файла:
1. Загрузка вручную
Для того, чтобы загрузить один из пользовательских файлов конфигурации вам понадобится использовать следующий код в нужной вам функции контроллера:
$this->config->load('filename');
Здесь filename - имя файла конфигурации, который должен быть загружен, без расширения .php.
Если вам нужно загрузить несколько файлов конфигурации, то обычно они будут объединены в один массив данных. При этом может возникнуть пересечение имен параметров, если вы используете одинаковые индексы массива $config в разных пользовательских файлах конфигурации. Для того, чтобы избежать такой ситуации, нужно в качестве второго параметра функции загрузки файла конфигурации передать TRUE.
// Значения будут сохранены следующим образом: $this->config['blog_settings'] = $config $this->config->load('blog_settings', TRUE);
Пожалуйста прочтите раздел Получение значений параметров в данной главе для того, чтобы понять как читать параметры загруженные описанным выше способом.
Третий параметр позволяет вам подавить вывод ошибок в случае, когда файл конфигурации не существует:
$this->config->load('blog_settings', FALSE, TRUE);
2. Автоматическая загрузка файла конфигурации
Если какой-либо файл конфигурации нужен вам повсеместно, вы можете загружать его автоматически. Для этого октройте файл autoload.php, расположенный в каталоге application/config и добавьте свой файл конфигурации как показано в этом файле.
Получение значений параметров
Для получение значения параметра конфигурации используйте следующую функцию:
$this->config->item('item name');
Здесь item name - индекс массива $config, значение которого вы хотите получить. К примеру, чтобы получить выбранный язык приложения вам понадобится сделать следующее:
$lang = $this->config->item('language');
Функция вернет FALSE если элемент который вы хотите прочитать не существует.
Если вы использовали второй параметр функции $this->config->load чтобы загрузить параметры конфигурации в отдельный массив с именем файла конфигурации в качестве индекса для общего массива конфигурации, вы можете передать имя файла конфигурации в качестве второго параметра для чтения значений элементов массива:
// 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 - название параметра конфигурации, item_value - его значение.
Вспомогательные функции
Класс config содержит следующие вспомогательные функции:
$this->config->site_url();
Функция возвращает URL для доступа к сайту с учетом значения "index" прописанного в глобальном файле конфигурации.
$this->config->system_url();
Функция возвращает URl для доступа к системному каталогу вашего приложения.

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