Изменения

Sway Solstice

537 байтов добавлено, 13:40, 23 августа 2009
Идеи
* Модули, модули, модули, и ничего, кроме модулей. Никаких жёстких завязок на соединение с БД или разбор URL в самом Sway.
* Конфигурация приложения представляет собой вложенный хеш, хранимый просто в виде Perl-кода. Система загрузки конфигурации позволяет объединять несколько файлов для поддержки стандартных конфигураций.
* Полная абстракция от среды запуска с использованием стандартных модулей {{CPAN|HTTP::Request}} и {{CPAN|HTTP::Response}}. Раздумья на эту тему можно почитать, например, здесь: [[Платформы для запуска Perl веб-приложений]]. Результат получился просто замечательный — чище и понятнее API, по-моему, быть просто не может.
* Каждый модуль в рамках одного веб-приложения создаётся в одном экземпляре. Модули создаются по требованию — при первом обращении. Межмодульное взаимодействие тривиально — <code>$www->name</code> через AUTOLOAD даёт экземпляр модуля name. Если модуль name захочет, он даже сможет переопределить то, что возвращается AUTOLOAD с его именем — это удобно для модулей, в которых только 1 функция.
* Использование [[Filter::AutoImport]], чтобы не писать в начале каждой функции длинные серии объявлений переменных <code>$self->www->config</code> и т. п.