Category Archives: Perl – документация

Catalyst, Sphinx и realtime индекс

Как создать realtime индекс Sphinx. Использование realtime индексов в Catalyst-приложении. Эксперименты проводились на Sphinx версий 2.2.10 и 2.0.4. Продолжаем развивать код из первой заметки про Sphinx. Возьмем его за основу и добавим в Catalyst использование realtime индекса.

Sphinx и Catalyst

Как реализовать поиск помощью Sphinx в Catalyst-приложении. Как создать приложение Catalyst, конфиги для Sphinx. Приложение создавалось на Ubuntu 14.04, perl 5.18, Sphinx версии 2.2.10, модуль Sphinx::Search 0.29. Sphinx от версии к версии меняет функциональность и принципы работы, иногда очень значительно. Модуль Sphinx::Search тоже. Поэтому, не факт, что приведенный ниже код будет работать и у вас… Read More »

Catalyst::Engine

Методы Примечание: логика работы Catalyst с движками, изменилась, начиная с версии 5.9. В данном случае по большей части рассматривается версия 5.8. Начиная с версии Catalyst 5.9 прекратилась поддержка множества движков, в том числе был удален модуль Catalyst::Engine::HTTP . $self->finalize_body($c) Получает подготовленный $c->response->body и пишет данные в буфер, на вывод. $self->finalize_cookies($c) Создает объект CGI::Simple::Cookie на основе… Read More »

Логика работы Catalyst. Часть 1

Заметка по логике работы Catalyst. В данной заметке я не ставлю перед собой цели написать понятный текст :) , не знаю, возможно ли это вообще, когда речь идет о логике Catalyst. Только сохранить для себя важные моменты, куски кода. Но возможно, кому-то пригодится. Попытка разобраться в логике запуска стандартного сервера Catalyst-приложения. Ниже приведено очень много… Read More »

Catalyst::ScriptRunner

Модуль отвечает за загрузку и запуск скриптов в пространстве имен приложения (например, MyApp::Script::Server), или в пространстве имен Catalyst (например, Catalyst::Script::Server).

Catalyst::Stats

Catalyst::Stats – класс Catalyst, работа со статистикой, измерение времени выполнения отдельных экшенов. Модуль Catalyst::Stats используется по-умолчанию, для вывода информации в логе Сatalyst-приложения. Если вы хотите заменить стандартный модуль чем-то своим, понадобится внести изменения в конфиг MyApp.pm:

Devel::InnerPackage

Модуль предоставляет всего одну функцию list_packages(), которая ищет все вложенные пакеты в указанном пакете и возвращает их названия в виде списка.

Catalyst::Exception

Catalyst::Exception – модуль для работы с исключениями. Catalyst::Exception наследует методы Catalyst::Exception::Base, если вы не захотели задать какой-то иной класс для работы с исключительными ситуациями в Catalyst-приложении.

Catalyst::Log

Класс Catalyst для работы с логами. Используется Catalyst по-умолчанию. Если вы хотите использовать другой класс, нужно будет указать в системе:

Catalyst::Helper

Catalyst.pl используют для быстрого создания каркаса catalyst-приложения. Сам скрипт catalyst.pl очень небольшой, единственное, что он делает – вызывает методы Catalyst::Helper, которые выполняют всю работу.