[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