ФорумПрограммированиеPHP для идиотов → Настройки: основные, модулей, пользователей. Как править/где хранить/загружать?

Настройки: основные, модулей, пользователей. Как править/где хранить/загружать?

  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 19:29

    Сабж. Прежде чем начинать писать sandbox-соцсеть нужно решить 2-3 вопроса. Это один из них.

    1) Есть основные настройки: включен кеш или нет, какой драйвер, таймаут. Логин/пароль к бд

    2) Ставлю модуль "галерея", у него какие-то свои настройки (куда сохранять картинки, как ресайзить, роуты)

    3) Регистрируюсь на форуме. Хочу что бы формат даты был бы такой-то, сообщения сортировались по такому-то полю, подписи не показывались бы.


    Мое мнение:
    1,2) Хранятся в виде yaml/phpArray/JSON/xml.

    #оригинальные файлы с настройками (эталонные, резервные). Никто не имеет права их редактировать
    /config/ # основные
    /code/modules/forum/config/ # настройки модуля форум

    # "перегруженные" настройки. При загрузке приложение сначала пытается их взять, а если их нет - берет эталонные
    /home/database.yaml
    /home/modules/forum.json


    3) Хранятся в базе. Есть какой-то объект, отвечающий за пользователя, его данные. Настройки по сути тоже самое.


    Немного сложнее с роутерами. Вот я поставил форум, а ему нужно экспортировать правила роутинга. + Я хочу через вебморду иметь возможность изменить эти правила… И ессно роуты форума не должны перекрывать роуты блога. Как это отследить?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 19:36, спустя 7 минут 23 секунды

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

    пользовательский хранится в метаполе пользователя каком либо (бд, кеш, как хочешь).

    роуты я бы юзал нечто типа Router, Router->addRuotes(RouteCollection $routes);

    RouteCollection routes = new routecollection();
    $routes->addRoute(BaseRoute $route);

    BaseRoute : RegexRoute | StaticRoute | CallBackRoute

    ну и кешировал роуте колекции, возможно + кешировал бы результаты работы роутов :))
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 19:40, спустя 4 минуты 5 секунд

    ini не хочу, но вопрос не в этом.

    То есть ты тоже предлагаешь использовать поверх эталонного расширение? И роуты потом перенастроенные записывать в перегруженный конфиг…

    Пользовательский это скорее отдельная таблица, которая будет джоиниться.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 19:44, спустя 3 минуты 36 секунд

    Абырвалг, я не люблю роуты в конфиг класть, считаю это несовместимыми вещами. это вещи разные, далеко совместимые я бы сказал. можно в и конфиг класть конечно, но я бы не стал :)
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 19:52, спустя 8 минут 24 секунды

    Абырвалг, почему всё так сложно? я вот тоже сижу думаю думаю, а интуитивно знаю, что всё это намного проще можно сделать, и много людей уже надо этим думало, некоторые это описали в книгах… что делать? хуй его знает!
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 19:59, спустя 7 минут 12 секунд

    Один основной конфиг, остальные в модулях, хочешь реализуй переопределение, хочешь не реализовывай. Да, на счет роутов, полностью согласен с phpdude, роуты - это отдельная история.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 20:03, спустя 3 минуты 15 секунд

    krasun, у меня конфиг от всех компонентов, модулей хранится в одном файле, но с разделением на неймспейсы, при инфициализации копонента, он передается в компонент в виде среза конфига под нужный неймспейс, ну а при инициализации модуля - срез по неймспейсу модуля :)
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 21:21, спустя 1 час 18 минут 49 секунд

    Ок, пойдем другим путем. Нужно сделать возможность редактировать роуты через вебморду. Как это делаем, куда их записываем?
    Спустя 34 сек.
    artoodetoo!

    Нужна фича: призвать пользователя в тему
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 13 июля 2010 г. 21:27, спустя 5 минут 27 секунд

    Абырвалг, нахера тебе изменение роутов через веб-морду, что за глупая мода такая у тебя на роуты и все такое?
    А по вопросу хз, я храню все в файлах: 1 основной конфиг + по каждому модулю может быть дополнительный, который изменяется с админки при изменении параметров.
    Пользователей пока нет + в первое время по задумке пользователь сосет лапу - ему будет доступнен общий конфиг и неебет, у меня не форум.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 21:42, спустя 15 минут 20 секунд

    хряню в ини файлах

    +1
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 22:21, спустя 38 минут 54 секунды

    Для большей производительности видимо лучше один файл конфигурации, а с т.з. удобства тестирования - отдельные на каждую подзадачу.
    Если есть кеширование, то формат хранения неважен.
    ιιlllιlllι унц-унц
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 22:27, спустя 5 минут 35 секунд

    Абырвалг, нахера тебе изменение роутов через веб-морду, что за глупая мода такая у тебя на роуты и все такое?

    логично предоставить конечному пользователю возможность настроить URL'ы.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 22:48, спустя 21 минуту 20 секунд

    логично предоставить конечному пользователю возможность настроить URL'ы.

    прости, но кроме как "Ты - ебанулся" я сказать после этого ничего не могу
    Спустя 31 сек.
    у нас не юкоз, а соц сеть, да и юкоз не дает пользователю настроить урлы.
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 13 июля 2010 г. 22:50, спустя 1 минуту 55 секунд

    значит нашу соцсеть можно будет продавать дороже :P
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 июля 2010 г. 22:52, спустя 2 минуты 20 секунд


    значит нашу соцсеть можно будет продавать дороже :P
    недавно васяц хорошо сказал, кто умеет разрабатывать - не умеет продавать, понимаешь, это разные навыки :)

    ты даже вконтакте бы не продал выгодно, а попов даже свое гавно выгодно продал, оглянись ;)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!