Yet Another Modular Web System - complete

В общем завершил ядро одной суперсистемки на пыхпыхе. Получилось очень аккуратно, фичасто и компактно. Побил рекорд по размерам index.php:

<?php
require("core.php");
require("base_module.php");
Core::Run();
?>

Теперь я мегакрутой пыхпыхбыдлокодер. Говоря о практическом применении… Я писал это чудо под себя, для своего сайта. Чтобы было удобно расширять и изменять (нынешний движок X-Post хоть и модулен, но имеет слишком большой базовый функционал и слишком низкие уровни абстракции межкомпонентного взаимодействия; шаблонная система - дурацкая и неудобная для меня, почти как в IPB; поддержки i18n нет вообще).

Всё получилось так, как я и задумывал в архитектурном плане; в основе - модули, все модули наследуются от одного класса, что обеспечивает единые интерфейсы для связи ядро-модули, у каждого модуля - свои шаблоны, языковые файлы. Базовый модуль выполнен в виде абстрактного класса. Вообще вся система по полной использует последние возможности PHP 5 в области работы с классами.

Используется много XML (в том числе ради возможности использования DTD для контроля за содержимым), разумеется, с кэшированием… Ядро только работает с модулями, отслеживает зависимости, вызывает стандартные методы модулей, кэширует, что ему подсунешь, обеспечивает несколько методов для парсинга XML, плюс добавление/удаление модулей с учётом зависимостей (хотя это я толком не внедрил пока, только в планах). Информация об установленных модулях и их настройки хранятся в едином XML-файле, что позволяет организовывать различные интерфейсы для управления системой и, опять же, использовать единый механизм доступа к модулям. Славно, легковесно. Это хороший опыт.

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

PHP для меня уже не так интересен.

Думаю, может отдать кому сырец?

git.md