Реализуем внутреннюю архитектуру CMS. Часть первая

Ноябрь 6, 2007

Сейчас речь пойдет о том, как определиться с инфраструктурой нашей будущей CMS.

Начну я с самого главного — со связующего звена — файла путей. Поскольку, за основу взята концепция MVC, то мы определяем 2 ведущие папки, которые будут использоваться как хранилища скриптов:...

  • app — приложение. Здесь будут собираться и работать скрипты, которые будут заточены именно на обработку и вывод информации.
  • kernel — ядро системы. Ничем оно и не занимается, кроме как обеспечивает функционирование приложения.

Займемся папкой kernel: я предлагаю следующий вариант: дабы не смешивать все вспомогательные классы в единую кучу — разиваем ее еще не несколько логически-оправданных групп:

  • classes — самописные классы (некоторое подобие PHP FrameWork, которые мы будем использовать при построении приложения.
  • libs — хранилище написанных библиотек функций и классов, написанных не нами, но любезно предоставленных в наше распоряжение с оговоркой на GNU-лицензию.
  • defines — папка, которая будет содержать в себе файлы-дефайнеры различных переменных. Чуть позже мы к ним вернемся :).

Перейдем к папке app (приложения).

  • coms — папка компонентов системы
  • mods — папка модулей
  • bots — папка системных «ботов»
  • views — папка представлений (разметка модулей и компонентов при выводе)
  • templates — папка шаблонов(под различные клиенты: обычный браузер, pda)

4 комментариев на “Реализуем внутреннюю архитектуру CMS. Часть первая”

  1. Andrew высказал:

    Очень дельная статья.

    Подписался на ленту. Все то, чего не мог найти раньше.

    P. S. классы можно взять с phpclasses.org

  2. Jeurey высказал:

    Классы брать у phpclasses.org я для ядра не буду — все в специфичности задачи заключается.

    Хотя, никто не запрещает вам ложить в будущую систему эти классы, с одной оговоркой — в качестве libs- не более.

  3. bookle высказал:

    Своя cms — это хорошо, все реализовано так, как самому удобно. Но есть минус. Она по функциональности и «красивости» будет проигрывать паблик cms (массовоюзаемым). Из-за банальной нехватки времени. А cms без множества модулей, это нехорошая cms. Да, согласен, ты сможешь написать. Но сколько на это потребуется времени?

  4. Jeurey высказал:

    Bookie, модуль, скажем, вывода 5-ти последних новостей — это 1 запрос в моей системе... Пишется такой модуль 3 минуты.

    Потом инсталлится. Конфигится 5 минут — и ложится в репозиторий...

    Думаешь, Joomla всегда была такой крутой? Я помню времена по мамбе, когда люди сами писали даже вывод категорий :)