X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Где и как вы храните настройки сайта?
НЕПЛОХОЙ
НЕПЛОХОЙ
Topic Starter сообщение 4.8.2009, 14:03; Ответить: НЕПЛОХОЙ
Сообщение #1


Я в mysql создаю таблицу config
где примерно следущие поля
Название сайта | Стартовая страница | email администратора | url сайта | сайт отключен


т.е. всего одна строчка, и для этой строчки отводится таблица, в принципе удобно, но недавно посмотрел как это сделано в WP
ИД | Настройка | Значение

и далее настройки в столбик. Плюсы: настройки можно добавлять прямо из админки. Но когда я так попробовал сделать, оказалось что вытаскивать эти настройки сложнее чем первом способе.

Как, где и в каком виде вы храните настройки сайта?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 4.8.2009, 14:50; Ответить: v1ex
Сообщение #2


В основном храню, как в WP. Иногда в config.php :D

P.S.
А в чем сложность вытаскивания настроек при способе как в WP?

P.S.S.
Ваш способ, мне кажется ужастным :) Целая таблица с одной записью... не хорошо :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
Topic Starter сообщение 4.8.2009, 14:58; Ответить: НЕПЛОХОЙ
Сообщение #3


# Вытаскиваем настройки
    $option_query = mysql_query("SELECT * FROM ".PREFIX."option WHERE option_id = 1") or die(mysql_error());
    $option = mysql_fetch_array($option_query);


теперь все настройки в массиве $option.

теперь передаем эти настройки в шаблон
display_template('./themes/'.SKIN.'/header.tpl', $option);


ну а там например вывод заголовка
<title><?php echo $template['option_namesite']; ?></title>


т.е.
$option['option_namesite'] - Название сайта
$option['option_email'] - емейл администратора
$option['option_skin'] - скин
и т.д.
---------

у меня не получилось это же самое организовать когда хранил настройки как в WP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
Topic Starter сообщение 4.8.2009, 14:59; Ответить: НЕПЛОХОЙ
Сообщение #4


P.S.S.
Ваш способ, мне кажется ужастным Целая таблица с одной записью... не хорошо

мне он тоже кажется ужастным))) поэтому я и создал эту тему
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 4.8.2009, 17:57; Ответить: v1ex
Сообщение #5


<?php
    class Options
    {
        private $dbInfo;
        
        public function __construct($dbHost, $dbUser, $dbPass, $dbName) {
             $this->dbInfo = array('dbHost' = $dbHost, 'dbUser' = $dbUser, 'dbPass' = $dbPass, 'dbName' = $dbName);
        }
        
        public function getOption($name) {
            $return = '';
            $msConnect = mysql_connect($this->dbInfo['dbHost'], $this->dbInfo['dbUser'], $this->dbInfo['dbPass']) or die(mysql_error());
            mysql_select_db($this->dbInfo['dbName'], $msConnect);
            $res = mysql_query("SELECT * FROM options WHERE name = {$name}", $msConnect);
            if (mysql_num_rows($res) > 0) {
                $row = mysql_fetch_array($res);
                $return = $row['value'];
            }
            mysql_close($msConnect);
            return $return;
        }
        
        public function setOption($name, $value) {
            ////
        }
        
        public function createOption($name, $value) {
            /////
        }
        
        public function deleteOption($name) {
            ////
        }
    }
?>

Ну, я бы написал вроде такого класса, с помощью которого можно было-бы полноценно управлять опциями (для этого осталось описать пару методов). Ну и теперь в шаблоне можно так опции получать:
    $options = new Options('localhost', 'root', '', 'mydata');
    display_template('./themes/'.SKIN.'/header.tpl', $options);

<title><?php print $template['options']->getOption('title'); ?></title>


P.S.
Работоспособность кода не проверял, но думаю суть ясна.

P.S.S.
Единственный минус тут, если частое обращение к опциям - частое обращение к ДБ, но я думаю в наше время это не так кретично, да и если что, подход легко изменить, например опции при первом запросе все вытаскивать и хранить их в членах класса, а в деконструкторе, проверяем были ли внесены изминения, если да - то еще один запросик с апдейтом. Вобщем почти ORM :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 5.8.2009, 11:36; Ответить: ZiTosS
Сообщение #6


v1ex, считаю что для пары простых настроек подойдёт обычный массив, зачем всё в БД пихать. Если конечно человек хочет с помощью интерфейса править данные, то естественно удобнее в БД хранить, иначе нафиг.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
v1ex
v1ex
сообщение 5.8.2009, 11:49; Ответить: v1ex
Сообщение #7


(ZiTosS @ 5.8.2009, 13:36) *
v1ex, считаю что для пары простых настроек подойдёт обычный массив, зачем всё в БД пихать. Если конечно человек хочет с помощью интерфейса править данные, то естественно удобнее в БД хранить, иначе нафиг.

Согласен, нету смысла в БД хранить данные без правки через интерфейс. Сам люблю хранить все в массиве, но вот заказчики к сожалению - нет :)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как в пушсетках покупают по 100-200 тысяч кликов за день?
2 Boymaster 682 Вчера, 17:52
автор: Boymaster
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
151 adw-kupon.ru 19852 23.4.2024, 13:52
автор: Vmir
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
14 Aloof 3383 23.4.2024, 13:50
автор: Vmir
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
20 uahomka 3461 23.4.2024, 11:54
автор: Skyworker
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
39 2Index 6737 22.4.2024, 16:16
автор: 2Index


 



RSS Текстовая версия Сейчас: 25.4.2024, 6:15
Дизайн