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

Konstantin S. Uvarin khedin at gmail.com
Mon Dec 19 03:38:18 PST 2016


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

  Выпустил 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/kiev-pm/attachments/20161219/e0708432/attachment.html>


More information about the Kiev-pm mailing list