Inside LiveStreet

Posted & filed under cms .

Вот посмотрел cms LiveStreet мне понравилась единственное довольно сложно было понять изначально как все происходит но потом когда понял стало все очень просто как всегда.

Что понравилась:
  • Файл Engine
  • Работа с кеш
  • Организация модулей, экшенов, связь с базой данных
  • ....
Что не понравилось:
  • Вроде как подключенные дополнительные ресурсы не последний (замет по смарти версия 2.6.9) про другое не проверял
  • Довольно сложная структура упростить бы
  • Не используется jQuery
Исходники переделки: github.com

Вот вел ход проекта
  • Запускаем профайлинг full_time главный профайлинг (index.php)
  • Определяются константы (index.php)
  • Подключаем Engine
  • Подключаем Block !!!!!!
  • Подключаем Hook
  • Подключаем Object.class.php от которого наследуются все классы
  • Подключаем Plugin от которого наследуются все плагины
  • Подключаем Profiler.class.php
  • Подключаем Router
  • Подключаем Mapper работа с sql запросами
  • Подключается файл loader(index.php)
  • Инициализируем класс Config.class.php
  • Вытаскиваем все параметры с файла config.local.php
  • Записываем их в массив aConfig
  • Подключаем конфиги smarty
  • Подключаем конфиги плагинов плагины берем из dat файла !!!!!!
  • Получаем путь /config/modules/
  • Дополняем aConfig параметрами из файлов config.php
  • Получаем путь /config/modules/ и ищем в них config.route.php и инклюдим
  • Получаем путь /engine/include/
  • Подключаем все файлы php
  • Получаем путь /include/
  • Подключаем все файлы php
  • Соединяем все файлы configa config.local.php, config.stable.php
  • Подключаем Router
  • Инит config url и rewrite
  • Подключаем Action
  • Подключаем ActionPlugin
  • Запускает весь процесс
  • Определяем какой action будет 404 или default или custom
  • Парсим урл вытаскиваем асtion event params
  • Инит Engine
  • Подключаем плагины берем из dat файла !!!!!
  • Регистрируем hooks
  • Загружаем modules
  • Делаем Init Cache
  • Запускаем хуки для события завершения инициализации Engine
  • Инициализируем модули array('Hook','Cache','Security','Session','Lang','Message','User')
  • Инициализируем плагины
  • Выводим шаблон
  • Запускаем shutDown всех методов
  • Инит Action
  • Запускаем Action которая связана с parent
  • Пред инит запускаем Init
  • Стопим профайлинг
comments powered by Disqus