Catalyst (Catalyst)

Перейти к навигации Перейти к поиску
Catalyst
Логотип программы Catalyst
Тип Программный каркас для создания веб-приложений
Разработчики Jonathan Rockway, David Kamholz, Brian Cassidy, Yuval Kogman, Matt S. Trout, Jesse Sheidlower, Andy Grundman, Marcus Ramberg
Написана на Perl
Операционная система Кроссплатформенный
Последняя версия 5.90131 (21 июля 2023)
Лицензия Двойная (Artistic License и GPL)
Сайт catalyst.perl.org

Catalyst — свободный кроссплатформенный фреймворк для создания веб-приложений на языке Perl. Представляет собой набор модулей, размещённых на CPAN. Catalyst написан с помощью Moose и реализует концепцию MVC.

Реализация MVC в Catalyst

[править | править код]
  • Model (Модель)
Хранит данные (обычно базу данных) и логику для работы с ними. Обычно используется ORM-фреймворк для работы с базой данных.
  • View (Вид)
Вид или представление, выполняют задачу отображения данных, которые хранятся в Model. Обычно View - это HTML страница, которая генерируется с помощью Template-Toolkit фреймворка либо, с помощью какого-нибудь другого шаблонизатора, например Mason (Perl).
  • Controller (Контроллер)
Задача контроллера - обрабатывать запросы клиента и формировать виды с данными, которые хранятся в моделях, а затем выдавать готовую страницу обратно клиенту.

Модель/Вид/Контроллер - обычные Moose-классы.

Вот так выглядит пример TT View, Moose-класса, который создается автоматически с помощью Catalyst скриптов-помощников.

package MyApp::View::HTML;
use Moose;
use namespace::autoclean;

extends 'Catalyst::View::TT';

__PACKAGE__->config(
    TEMPLATE_EXTENSION => '.tt',
    render_die => 1,
);

1;

Поддерживаемые веб-серверы

[править | править код]

Для целей разработки и тестирования Catalyst содержит встроенный HTTP-сервер. Готовые приложения могут быть запущены на любом сервере, поддерживающем CGI. Для повышения производительности рекомендуется использовать FastCGI (в случае, когда используются nginx, Apache, IIS, lighttpd, Zeus) или mod_perl (когда используется Apache)[1].

Примечания

[править | править код]
  1. Catalyst — The elegant MVC framework. Архивировано из оригинала 1 марта 2012 года.