====== 7.2. Файл config.ini ======
=====Введение=====
**config.ini** - это файл конфигурации нашего приложения (ядра), мы с вами ничего записывать в
него самостоятельно не будем и в конце этой главы мы его удалим.
Этот файл будет создаваться при установке нашего приложением и в него будут записаны файлы конфигурации.
В данном случае мы создаем пустой файл **config.ini** для проверки работы логики установщика. А именно: \\
Установщик проверит, есть ли в директории **/ucms/includes** файл **config.ini**, что будет означать, что
установка уже произведена и повторная не требуется и перенаправит пользователя
на страницу установленой конфигурации, в случае отсутствия файла **config.ini** продолжится установка.
Добавим в нашу дерикторию тестов, тестовый файл **config_test.php** и в него запишем следующий код:
Сохраним изменения и проверим работу кода в браузере
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_11.png?|}}
Заходим в директорию **includes** и перемещаем файл **config.ini** в директорию **demo**
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_12.png?|}}
Проверим снова работу кода файла **config_test.php** в браузере
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_13.png?|}}
Получаем сообщение:
Файл /volume1/web/ucms/includes/config.php **не** существует
В директории **includes** и в директории **/test** создаем файл **config_test_2.php**
'localhost',
'port' => 3000,
];
// Записать конфигурацию в раздел «'database'»
$success = write_to_ini($databaseSections, 'database', '../includes/config.ini');
// Проверим, успешно ли выполнена запись в файл.
if ($success) {
echo "Запись в файл прошла успешно!";
} else {
echo "Ошибка записи INI-файла.";
}
// Функция записи настроек в определенный раздел INI-файла
function write_to_ini($config, $section, $file) {
$content = "\n; Application Configuration Settings\n\n[$section]\n; Configuration\n";
foreach ($config as $key => $value) {
$content .= "$key = $value\n";
}
// Добавить содержимое в файл
return file_put_contents($file, $content, FILE_APPEND) !== false;
}
=== Запись данных в **config.ini** ===
Откроем файл **config_test_2.php** в браузере
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_14.png?|}}
Мы видим сообщение "Ошибка чтения INI-файла." и "Запись в файл прошла успешно!"
=== Чтение данных из **config.ini** ===
Обновим страницу веб-браузера
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_15.png?|}}
файл **config.ini** в директории **/includes** создан и выводится значения переменных
**$server** и **$port** в сообщении: server: **localhost** port: **3000**
Откроем созданный файл **config.ini** в блокноте
{{:software:development:demo:cms:ucms:ucms_kernel_demo_book_16.png?|}}
Мы видем записи нашего массива в файле. Перемещаем **config.ini** в директорию **demo**
← [[software:development:demo:cms:ucms:creating_file_cons|7.1. Файл cons.php]]
[[software:development:demo:cms:ucms:creating_file_function|7.3. Файл function.php]] →