Catalyst

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

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

Реализация 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 года.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.