Возвращаясь к кэшу в скриптах Webasyst

Вопрос кэширования часто используемых и редко изменяемых данных продолжает волновать пользователей скриптов Webasyst, в частности Shopscript 5. В последнем обновлении фреймворка появились кое-какие-дополнительные возможности. Пока это недокументировано, хотя документация, вроде как, обещана. Кеширование данных сейчас возможно при использовании либо файлового кеша, либо Memcached. Ваш покорный слуга закоммитил еще и адаптер для XCache, но его пока нет в обновлении, распространяемом через приложение «Инсталлер».

Читать далее Возвращаясь к кэшу в скриптах Webasyst

API Webasyst framework

Поскольку имеющаяся в наличии документация по фреймворку Webasyst подробностью не отличается, натравил на дистрибутив автоматический генератор документации. Пришлось, правда, перед этим немного подправить докблоки, чтобы более-менее по тематике все делилось.

Получилось вот такое описание API Webasyst Framework. Тоже не сахар. Обновляется с моего форка, могут быть небольшие отличия от оригинала.

MVC в Webasyst Framework

Иногда у меня создается впечатление, конечно ошибочное, что разработчики Webasyst услышали слово MVC, прочли про это в Википедии, потом купили книжку типа «MVC для чайников» и курили ее до того, как прочесть. Ну как вот такое писать:

Иногда формирование содержимого страницы в браузере выполняется только средствами JavaScript. В этом случае с сервера снимается задача генерации HTML-кода с использованием шаблона, а реализация слоя «вид» в терминологии MVC перемещается на клиента. При этом вместо формирования HTML-кода перед сервером встаёт другая задача — передача данных клиенту.

Документация

Если бы они не выкурили книжку, а прочли ее сначала, то узнали бы, что «вид» (View) это то, что отдатется клиенту. И html страница — вид, и структура json — вид, и atom/rss — тоже вид. И у действия (Action) может быть много Views. Вместо этого они честно налепили отдельных Actions под каждый View, даже если данные отдаются одинаковые.