Catalyst - это вам не легкая яхта, а тяжелый и внушительный ледокол. Если требуется создать сайт-одностраничник, лучше выбрать для работы что-то попроще. Серьезный проект с обширным списком функциональности строить намного проще, используя Catalyst.
Текущее пошаговое руководство уже рассматривает многие темы по использованию Catalyst. С течением времени оно дополняется новыми публикациями. Для своевременного получения информации об обновлениях, подпишитесь на новости блога, используя форму Feedburner справа.
1. Как создать Catalyst-приложение с нуля
Как создать Catalyst-приложение с нуля. Какие модули необходимо установить. Как создать контроллер, модель, представление. Основные настройки для работы с Catalyst.
2. Работа с атрибутами Path, CaptureArgs, Args, Local, Global и Private в Catalyst
Что такое атрибут Chained в Catalyst. Что такое атрибуты Path, CaptureArgs и Args. Использование атрибутов Local, Global, Private.
3. Использование HTML::FormFu при работе с Catalyst
Как создавать и обрабатывать формы с помощью HTML::FormFu.
4. Как создать REST API на основе Catalyst
Использование модулей Catalyst::Controller::REST, Catalyst::View::JSON. Использование атрибута ActionClass. Создание JSON представления. Плагин для Firefox - RESTClient, тестирование REST-сервисов.
5. Ведение логов в Catalyst с помощью Log::Dispatch
6. Что такое Moose в Perl. Руководство для начинающих
Функции Moose. Классы, роли, атрибуты, объекты Moose.
7. Использование MooseX::Singleton в Catalyst-приложении
Использование MooseX::Singleton в Catalyst-приложении на конкретном примере, при реализации работы с конфигурационными данными. Использование паттерна "Singleton" в Catalyst-приложении. Примеры использования Class::Accessor.
8. Взаимодействие Catalyst-приложения с внешним API. Пример 1
Пример реализации взаимодействия Catalyst-приложения с внешним API. Для реализации были использованы модули XML::Simple, URI, LWP::UserAgent, XML::LibXML, Encode, HTTP::Request.
9. Использование статики в Catalyst-приложении (плагин Static::Simple)
10. Как реализовать простой ajax-запрос в приложении Catalyst, jQuery и JSON
Как добавить ajax-запрос при разработке Catalyst-приложения. Создание JSON-представления в Catalyst. Возврат данных в формате json. Изменение набора данных во втором элементе select, в засимости от того, какую строку пользователь выбрал в первом элементе select. Примеры perl-кода, html, js-скрипт. Установка jQuery.
11. Использование MongoDB в Catalyst. Часть 1. Примеры кода
Создание модели для работы с MongoDB в Catalyst. Взаимодействие с MongoDB, выборка данных, сортировка, использование лимитов, поиск одной-единственной записи. Получение списка всех доступных баз данных Mongo. Использование Variable::Eject.
12. Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 1. Сессии в Catalyst
Создание модели DBI в Catalyst. Использование DBI-модели. Реализация системы сессий в Catalyst, с помощью плагинов Catalyst::Plugin::Session::PerUser, Catalyst::Plugin::Session::Store::DBI, Catalyst::Plugin::Session::State::Cookie.
Аутентификация на основе DBI. Работа с Catalyst::Authentication::Store::DBI::ButMaintained и Catalyst::Authentication::Credential::Password. Создание таблицы users в БД.
14. Создание системы сессий, авторизации и аутентификации в Catalyst. Часть 3. Роли пользователей
Плагин Catalyst::Plugin::Authorization::Roles. Создание таблиц с ролями в БД, установка ограничений доступа в контроллере.
15. Создание новостных лент (RSS, Atom) в Catalyst. Создание простого RSS-агрегатора
Работа с модулями XML::Feed и XML::Feed::Aggregator.
16. Как скачивать файлы в Catalyst-приложении
Работа с форматами csv, tsv, txt, xml в Catalyst. Использование модуля Catalyst::View::Download . Добавление собственных форматов файлов, на примере doc-формата.
17. Как загружать файлы в Catalyst-приложении
Загрузка файлов с помощью Catalyst::Request::Upload. Работа с библиотекой lib::abs.
Документация на модули Catalyst
Catalyst::View | Catalyst::Script::Create | Catalyst::Helper | Catalyst::Log | Catalyst::Exception
Catalyst::Stats | Catalyst::Engine | Catalyst::ScriptRunner
Логика работы Catalyst. Часть 1