Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Конфиг
 
 автор: neadekvat   (07.05.2009 в 22:51)   письмо автору
 
 

Скажите, а в файле, где хранятся общие настройки сайта (обычно называемый config.php), настройки хранить лучше в константах или в переменных? И есть ли разница?

  Ответить  
 
 автор: kostiaGt   (08.05.2009 в 11:40)   письмо автору
 
   для: 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.

  Ответить  
 
 автор: Trianon   (08.05.2009 в 11:47)   письмо автору
 
   для: kostiaGt   (08.05.2009 в 11:40)
 

и почему же данные в константе невозможно изменить?

  Ответить  
 
 автор: kostiaGt   (08.05.2009 в 12:02)   письмо автору
 
   для: 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';



Тут ты просто создашь новую переменную.

  Ответить  
 
 автор: neadekvat   (09.05.2009 в 22:03)   письмо автору
 
   для: kostiaGt   (08.05.2009 в 11:40)
 

Спасибо, понял, что к чему

  Ответить  
 
 автор: Николай2357   (09.05.2009 в 23:47)   письмо автору
 
   для: kostiaGt   (08.05.2009 в 11:40)
 

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования