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

Konstantin S. Uvarin khedin at gmail.com
Wed Dec 21 02:43:19 PST 2016


Приветствую.

  1) До выполнения основного хендлера у нас бабблинг вполне себе
прерывается. На дальнейших стадиях _пока_ не вижу смысла это делать. Мне
кажется, это только к лишним взаимозависимостям между коллбэками приведёт.
Там и так побочный эффект на побочном эффекте и побочным эффектом погоняет.

  2) after_xxx появятся скоро, насчёт around пока не знаю.

  Вообще хотелось бы получить хоть какую-то обратную связь от пользователей
с реальными проектами, прежде чем с шашкой наголо дальше кидаться. Вряд ли
на Нифе сразу тикетмастер или букинг напишут, где подобная сложная логика
необходима.

2016-12-19 22:09 GMT+02:00 Akzhan Abdulin <akzhan.abdulin at gmail.com>:

> Идея 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
>>
>>
>
> _______________________________________________
> Kiev-pm mailing list
> Kiev-pm at pm.org
> http://mail.pm.org/mailman/listinfo/kiev-pm
>
>


-- 
Konstantin S. Uvarin
jabber: see <from>
skype: kuvarin
http://github.com/dallaylaen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/kiev-pm/attachments/20161221/741ae148/attachment.html>


More information about the Kiev-pm mailing list