Решил произвести небольшой опросик... голосование не стал добавлять, лучше напишите словами Ваше мнение.
Какой способ хранения конфига Вам кажется наиболее оптимальным ?
1. Внутри отдельного файла config.php, в котором хранится что-то вроде (неограниченный уровень вложенности, подключение простым include('config.php') )
<?php
/**
* config file
*
*/
$GLOBALS['uconfig'] = array(
'site' => array(
'header' => 'MySite',
'timezone' => 'Asia/Yekaterinburg',
),
'core' => array(
'productionmode' => 0,
'sitemapfile' => 'sitemap.php',
'imagedir' => 'images',
'indexdir' => array('core','ucomponents', 'utemplates'),
'autodir' => 'auto',
),
..........
);
2. В файле формата json вида (неограниченная степень вложенности, простое декодирование функцией json_decode() )
{
"site":{
"header":"My Site",
"timezone":"Asia\/Yekaterinburg"
},
"core":{
"productionmode":0,
"sitemapfile":"sitemap.php",
"imagedir":"images",
"indexdir":[
"core",
"ucomponents",
"utemplates"
],
"autodir":"auto"
},
........
}
3. В файле формата ini (максимум 2 уровня вложенности, нужен специальный парсер, либо parse_ini_file, имеющий ограничения)
[site]
header = 'My Site'
timezone = 'Asia/Yekaterinburg'
[core]
productionmode = 0
sitemapfile = 'sitemap.php'
imagedir = 'images'
indexdir = 'core,ucomponents,utemplates'
autodir = 'auto'
...........
4. В таблице БД в виде Ключ => Значение (свободный доступ к любому значению, но посредственная скорость)
Прошу пояснить Ваш выбор.
Примечание:
2 Yorie:
уточните - где и как обычно храните кэш конфигурации ?
Примечание:
2 Yorie:
значит, кэш хранится по принципу №1, так можно сказать ? Получается, что в сухом остатке вы для хранения конфигурации используете принцип №1.
Примечание:
Потому что мой вопрос именно и касался способа хранения конфигурации, при котором она извлекается каждый запуск скрипта.
Примечание:
2 Yorie:
конечно же у каждого своё мнение, потому я и задал этот вопрос.
Ваша точка зрения понятна, хотя я так до конца не понял, каким образом у вас хранится конфигурация (каким образом вы обычно записываете её в кэш - что это - XML-файл, сериализованный array, php-файл с массивом, таблица в БД или что-то ещё).
Всё дело конечно же в мелочах. Один способ даёт значительный выигрыш в скорости при использовании большинства настроек и при чтении блока настроек целиком, другой - при чтении лишь выборочных регулировок.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.