Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как хранить конфигурацию сайта?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
morph-x
Отправлено: 12 Ноября, 2011 - 02:31:05
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Как правильнее хранить конфигурацию сайта? Хранить ее в классе Config (поля static) или в отдельном объекте класса Config, или вообще не испоьзовать классы, а хранить конфигурацию в константах (под конфигурацией я имею ввиду данные для соединения с БД, URL сайта и т.п.). Заранее спасибо!

(Отредактировано автором: 12 Ноября, 2011 - 02:32:16)

 
 Top
OrmaJever Модератор
Отправлено: 12 Ноября, 2011 - 02:37:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




В ini файлах. Удивлены? http://habrahabr[dot]ru/blogs/php/112402/


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
koras
Отправлено: 12 Ноября, 2011 - 12:21:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 224
Дата рег-ции: Окт. 2009  


Помог: 0 раз(а)




Опасно, тогда файл будет открыт для чтения, ели не будет закрыт .htaccess
 
 Top
OrmaJever Модератор
Отправлено: 12 Ноября, 2011 - 12:51:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




тю... а что мешает нам его закрыть в htaccess?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Stierus Супермодератор
Отправлено: 12 Ноября, 2011 - 13:08:54
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Все конфиги (как и 99% кода) должны лежать в папке, закрытой для показа веб-сервером.
 
My status
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2011 - 13:45:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




+ что мешает обозвать конфиг config.ini.php и первой строкой поставить

Парсер ini проигнорирует, как комментарий, а запрашивание файла веб-сервером выведет только ;


-----
PostgreSQL DBA
 
 Top
Stierus Супермодератор
Отправлено: 12 Ноября, 2011 - 13:49:00
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Не, я про другое. У nginx (или что-то другое, не важно), настроено, что он смотрит в папку /var/www/html (например) ... вы делаете папку /var/www/configs и там держите свои конфиги в любом виде, хоть в .ini, хоть в .xml, хоть в .yml (как хранятся у меня) - как угодно
 
My status
 Top
Мелкий Супермодератор
Отправлено: 12 Ноября, 2011 - 14:39:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Stierus, та я понял, это - самый правильный вариант. Это на чудесный случай, если невозможным оказывается выкинуть выше документ рута.


-----
PostgreSQL DBA
 
 Top
morph-x
Отправлено: 12 Ноября, 2011 - 15:16:02
Post Id



Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Июнь 2011  


Помог: 0 раз(а)




Спасибо всем! Решил хранить конфигурацию в INI-файле. В моем случае это безопасно, т.к. у меня все файлы кроме index.php и папки uploads закрыты через .htaccess.
(Добавление)
Хотел еще узнать относительно класса Config. У меня он выглядит так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. abstract class Config {
  4.     protected static $host;
  5.     protected static $username;
  6.     protected static $password;
  7.     protected static $database;
  8.        
  9.     public function __construct() {
  10.         $this->load();
  11.     }
  12.        
  13.     private function load() {
  14.         $config = parse_ini_file("config.ini");
  15.         $this->host = $config["host"];
  16.         $this->username = $config["username"];
  17.         $this->password = $config["password"];
  18.         $this->database = $config["database"];
  19.     }
  20. }
  21.  
  22. ?>

Далее создаются другие классы (напр. Db) на основе него. Правильно ли так делать? И еще хотел спросить, можно ли как-то превратить массив обратно в ini?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB