Редактирование конфигурационного файла

hussar

In code we trust!
Редактирование конфигурационного файла

Всем доброе время суток!

Существует файл где определяются константы, которые используются в других файлах.
В административном модуле сайта необходимо сделать возможность изменения этих констант. Выход который пришел первым в голову - написать скрипт где в форме вводить значения констант а потом просто перезаписывать файл с константами.
Подскажите оптимальный ли это вариант или есть еще другие решения до которых я не додумался?

Всем заранее спасибо!
 

Tor

Новичок
работает?
так в чем проблема?
или констант сто тысяч и медленно обновляется?
 

hussar

In code we trust!
Работает. Я просто думал может есть еще какое-нибудь решение более красивое :)
 

alexhemp

Новичок
hussar

"Красивее" - это как посмотреть. Мне больше нравится все держать в БД в таблице "config".
 

Битник

Новичок
alexhemp

А настройки соединения к БД ведь тоже должны где-то храниться. А в каком файле вообще принятно хранить переменные настроек и какова его структура?

Я делаю так:

config.php

<?
$hostaname = "localhost";
$login = "root";
$password = "";
$db = "";
?>
 

WP

^_^
PHP:
define('PHP_PATH','z:/usr/local/php5/php.exe');
define('ROOT_PATH','./');
define('DATA_PATH',ROOT_PATH.'data/');
define('CORE_PATH',ROOT_PATH.'core/');
define('MOD_PATH',ROOT_PATH.'modules/');
define('TEMPLATE_PATH',ROOT_PATH.'templates/');

define('XE_LOCALE','ru_RU.UTF-8');

define('SQL_LAYER','mysql4');
define('SQL_HOST','localhost');
define('SQL_DBNAME','xEngine');
define('SQL_USERNAME','root');
define('SQL_PASSWORD','');
define('SQL_TBLPREFIX','xE_');
define('SQL_USEPCONNECT',FALSE);

define('SUPERUSER_ID',1);
define('DEBUG_REPORTING',E_ALL);
define('DOMAIN','engine');
define('COOKPREFIX','xE');
define('TECH_EMAIL','[email protected]');
 

SaNeK

Новичок
У меня обычно все конфиги в одном массиве и при обновлении использую var_export() (это если хранилище конфига - файл)
 

Flanker

незнайка
я более склонен держать настройки в ини файле а для изменения настроек написал скрипт редактирования ини файлов
 

SaNeK

Новичок
Flanker
А если из браузера к твоему ini-файлу постучаться, что он ответи? ;)
 

Alexandre

PHPПенсионер
alexhemp
Красивее" - это как посмотреть. Мне больше нравится все держать в БД в таблице "config".
А зачем грузить и так нагруженную БД?
А мне больше нравится все держать в XML
XML предварительно парсится в PHP файл (по сохранению в админке), который представляет собой вложенный ассоциативный массив.
В зависимости от вызываемого фронт-энд скрипта, подгружается свой массив настроек.

Решений масса, каждое из них "красиво" по своему.
 

SaNeK

Новичок
Alexandre
+1. К тому же, если осуществляется кэширование не всегда нужно к БД вообще коннектиться. А если туда придется коннектиться только ради конфига...
 

Alexandre

PHPПенсионер
SaNeK
а если использовать мемкеш в качестве кеша, то часть настроек можно вообще закешировать и экономить на дисковых обращениях.

-~{}~ 25.12.06 17:46:

А если из браузера к твоему ini-файлу постучаться, что он ответи?
это если достучишься... такие вещи должны храниться за пределами "WEB видимости"
 
Сверху