Приветствую. 1) До выполнения основного хендлера у нас бабблинг вполне себе прерывается. На дальнейших стадиях _пока_ не вижу смысла это делать. Мне кажется, это только к лишним взаимозависимостям между коллбэками приведёт. Там и так побочный эффект на побочном эффекте и побочным эффектом погоняет.
2) after_xxx появятся скоро, насчёт around пока не знаю. Вообще хотелось бы получить хоть какую-то обратную связь от пользователей с реальными проектами, прежде чем с шашкой наголо дальше кидаться. Вряд ли на Нифе сразу тикетмастер или букинг напишут, где подобная сложная логика необходима. 2016-12-19 22:09 GMT+02:00 Akzhan Abdulin <[email protected]>: > Идея hooks хоть и хороша, но > > 1) Полностью отсутствует нормальная схема прекращения обработки запроса > (хук все сделал). die порождает warning и просто увеличивает цену обработки > запроса. Хотя бы взяли идею event.stopPropagation() с JavaScript. > > 2) отсутствуют фазы after_xxx и around_xxx. > > 19 декабря 2016 г., 14:38 пользователь Konstantin S. Uvarin < > [email protected]> написал: > >> Приветствую. >> >> Выпустил 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 >> [email protected] >> http://mail.pm.org/mailman/listinfo/kiev-pm >> >> > > _______________________________________________ > Kiev-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/kiev-pm > > -- Konstantin S. Uvarin jabber: see <from> skype: kuvarin http://github.com/dallaylaen
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
