|
|
|
| Скажите, а в файле, где хранятся общие настройки сайта (обычно называемый config.php), настройки хранить лучше в константах или в переменных? И есть ли разница? | |
|
|
|
|
|
|
|
для: neadekvat
(07.05.2009 в 22:51)
| | Здесь нужно учитывать область видимости. Если ты сохранишь данные в переменных, тебе нужно будет организовать к ним доступ внутри фугкций. В кностантах конфиг файл выглядит не красиво но, данные в константе невозможно изменить и к ним можно обратиться с любой точки программы. Я делаю так, конфиг файле переменные, а файл, который загружает конфиг устанавливает константы.
-
-- config.php ----
..
$dbName = 'test';
...
--- loader.php ---
include_once('config.php');
if( isset($dbName) && !defined('DB_NAME') ) {
define('DB_NAME', $dbName);
} else {
// Error code
}
|
Как вариант, можно создать специальный конфиг класс. А если не хочешь париться возьми уже готовый класс библиотеки PEAR. | |
|
|
|
|
|
|
|
для: kostiaGt
(08.05.2009 в 11:40)
| | и почему же данные в константе невозможно изменить? | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 11:47)
| | Имеется ввиду, что объявленная раннее константа с определенным значением, ниже по коду не может быть переопределена или снабжена другим значением.
Попробуй сделать:
define('MY_CONST', 'Some value 1');
define('MY_CONST', 'Some value 2');
|
выдаст: Constant MY_CONST already defined ...
или
define('MY_CONST', 'Some value 1');
MY_CONST =' 'Some value 2';
|
выдаст: Parse error: syntax error, unexpected '='
или
define('MY_CONST', 'Some value 1');
$MY_CONST =' 'Some value 2';
|
Тут ты просто создашь новую переменную. | |
|
|
|
|
|
|
|
для: kostiaGt
(08.05.2009 в 11:40)
| | Спасибо, понял, что к чему | |
|
|
|
|
|
|
|
для: kostiaGt
(08.05.2009 в 11:40)
| | В кностантах конфиг файл выглядит не красиво
А почему? По мне так очень красиво, если константы правильно называть и комментировать, очень удобно. Зачем лишние телодвижения... | |
|
|
|