Текущие мысли о Catalyst, вытекающие отсюда . Это не учебник или брошюра — это просто наблюдения и впечатления, которые приходят на ум и даже там, вещи, которые действительно выделяются. Есть большая вероятность, что я что-то не так понял или просто ошибаюсь, но думаю, что полезно где-то все это зафиксировать. Также не пытаясь ловить ответы — хочу посмотреть, как далеко я могу получить без посторонней помощи.
- Вступительная документация хороша. Дает много, чтобы начать играть с. В IMO Cookbook требуется больше — хотя Catalyst оставляет многое для внешних модулей CPAN, может помочь предоставление примеров (особенно, связанных с формами).
- API контроллеров легко запомнить — несмотря на то, что он выполнил лишь некоторые очень простые вещи, различные специальные методы, такие как
begin
auto
chain
end
Global
Local
LocalRegex
Private
Это в отличие от других фреймворков, которые я пробовал, где необходимо постоянно возвращаться к документации. Кроме того, поведение фреймворка легко понять — в сочетании с вводными документами эта диаграмма говорит само за себя. См. Также справочную карту (PDF). - Такие вещи, как ведение журнала и тестирование, являющиеся стандартными частями Catalyst, были отмечены с благодарностью.
- Еще не убежденные на 100% генераторами скелетного кода — хотя это и приятно, но пассивные генераторы, подобные этому, заставляют меня нервничать — будет ли сценарий, когда я захочу повторно запустить их для уже сгенерированного кода? Пока не могу придумать ни одного.
- Catalyst, похоже, не делает различий между GET и POST по умолчанию; вам нужно взглянуть на
$context->request->method
и get. Имейте более общее ворчание по поводу сопоставления URL (как в ресурсе) с одним методом. Лучше всего подытожить, почему API веб-сервера отстают так много? — Катализатор, похоже, перевернул проблему. Вместо того, чтобы объединять «несколько URI (и, следовательно, ресурсов) в один контейнер», кажется, что Catalyst красиво разделяет URI, но затем объединяет все методы HTTP в одном методе класса Perl. - Хотите знать о шаблонах — они будут достаточно умными? Будет ли идти по пути Template Toolkit … В частности, как мне получить доступ к большим знаниям по обработке URL-адресов, встроенным в мои контроллеры? Всегда находил основной источник ошибок / более поздних поломок, когда существует несоответствие между тем, куда шаблон указывает браузер, и тем, что ожидают контроллеры. В идеале хотелось бы, чтобы шаблоны работали для них, в соответствии с WACT . Также такие вещи, как валидация — снова подключив WACT, он отлично справляется с подключением правил валидации к выводу шаблона для отчетов об ошибках и других полезных вещей, таких как то, как один из них может автоматически добавлять атрибут maxlength в соответствующее поле ввода формы. Кажется, что- то приближается к тому, что в Catalyst — увидим.
Во всяком случае — еще какое-то время.