понедельник, 14 февраля 2011 г.

Catalyst: perl-фреймворк


Так как с документацией в интернете для меня всё запутано, попытаюсь здесь вести некий конспект самоучки. Надеюсь, это поможет освоить Catalyst не только мне.
Итак, MVC фреймворк, написанный на языке perl. Мне нужен для относительно быстрой разработки и модификации гибких веб-приложений, чтобы не заморачиваться особо "кишками" и всякими мелочами, а сосредоточиться на главном. Главное - это у нас Модель, Представление и Контроллер.


Установка

В принципе, можно пойти путём самурая и всё установить с CPANa:
 # perl -MCPAN -e 'install Catalyst::Runtime'
 # perl -MCPAN -e 'install Catalyst::Devel'
Однако, это долго тянет зависмости из того же CPANа, шуршит тестами, спрашивает разрешений и вываливается, поэтому проще и быстрее использовать пакеты.

Так как я работаю в Debian, то для разработки и фунциклирования приложения ставлю эти пакеты:
# apt-get install libcatalyst-perl libcatalyst-devel-perl libcatalyst-modules-perl libcatalyst-modules-extra-perl

Hello world

Если всё установилось, то можем попробовать начать создание тестового приложения.
$ catalyst.pl MyApp
$ cd MyApp
$ script/myapp_create.pl controller My::Controller
$ script/myapp_create.pl view TT TT
$ script/myapp_create.pl view HTML HTML::Template
$ script/myapp_server.pl -r
Параметр -r у сервера означает автоматический его перезапуск при каких-либо изменениях в исходниках.
Теперь тестовая версия сайта доступна по адресу http://localhost:3000
 
Скрипт для создания модели (MySQL):
 
$ script/myapp_create.pl model FilmDB DBIC::Schema MyApp::Schema::FilmDB \
        create=static dbi:mysql:filmdb dbusername dbpass \
        quote_names=1