[Kiev-pm] [Moscow.pm] MVC::Neaf: Not Even A Framework

Akzhan Abdulin akzhan.abdulin at gmail.com
Mon Dec 19 12:09:50 PST 2016


Идея hooks хоть и хороша, но

1) Полностью отсутствует нормальная схема прекращения обработки запроса
(хук все сделал). die порождает warning и просто увеличивает цену обработки
запроса. Хотя бы взяли идею event.stopPropagation() с JavaScript.

2) отсутствуют фазы after_xxx и around_xxx.

19 декабря 2016 г., 14:38 пользователь Konstantin S. Uvarin <
khedin at gmail.com> написал:

> Приветствую.
>
>   Выпустил Neaf 0.14 c экспериментальными hooks:
>
>   * hook ставится на путь+метод, при этом можно указать exclude (т.е.
> пути, к которым применяться НЕ будет)
>   * фазы, в которые можно воткнуться:
>     - pre_logic - после роутинга, но до выполнения основного хэндлера (+
> прерывание путём die);
>     - pre_content - после хэндлера;
>     - pre_reply - перед отправкой заголовков клиенту (выполнение в
> обратном порядке);
>     - pre_cleanup - перед уничтожением объекта запроса, после отложенных
> операций (выполнение в обратном порядке);
>     - возможно, будут добавлены ещё. как минимум, pre_render, который
> отрабатывает, ТОЛЬКО если собираемся применять шаблон/сериализатор. Ну и
> pre-route надо запихнуть в ту же схему, не дело двум велосипедам быть в
> одном фреймворке, который и так велосипед.
>   * единственный аргумент ВСЕХ хуков - объект request
>   * возвращаемое значение принципиально игнорируется, для коммуникаций
> между хуками есть $request->stash. Также начиная с pre_content доступен
> хэш, который вернул хэндлер, под именем $request->reply.
>
>   Кроме этого, добавлены зависящие от пути значения по умолчанию,
> применяемые после успешного хэндлера, напр. MVC::Neaf->set_path_defaults(
> '/api' => { -view => 'JS' } );
>   У них, правда, пока нет exclude.
>
>   Кроме этого, добавлен Dancer-подобный сахар в виде
>
>   use MVC::Neaf qw(:sugar);
>   get '/path' => sub { ... };
>   neaf error => 404 => sub { ... };
>   neaf->run;
>
>   Он тоже экспериментальный.
>
>   https://github.com/dallaylaen/perl-mvc-neaf/
>   https://metacpan.org/pod/MVC::Neaf
>
>   Акжану присуждается медаль в дисциплине "взятие на слабо", а если
> серьёзно, то спасибо за классный challenge и ссылки :)
>
>
> --
> Konstantin S. Uvarin
> jabber: see <from>
> skype: kuvarin
> http://github.com/dallaylaen
>
> _______________________________________________
> Kiev-pm mailing list
> Kiev-pm at pm.org
> http://mail.pm.org/mailman/listinfo/kiev-pm
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/kiev-pm/attachments/20161219/33e7d3c1/attachment.html>


More information about the Kiev-pm mailing list