Все хелперы в Mojolicious работают через AUTOLOAD
Просто перегрузите в своём коде Mojolicious::Controller::AUTOLOAD
sub Mojolicious::Controller::AUTOLOAD { '' }
и все вызовы к хелперам пройдут успешно, за исключением когда хелпер возвращает
объект
$c->some_helper->object_method
для этих
Пример простого создания контроллера и рендер файла $name.
Все стандартные и ваши хелперы будут доступны.
My/Face/Test.pm
package My::Face::Test;
use base qw(Mojolicious::Controller);
1;
My/Test.pm
my $c = My::Face::Test->new( app => My::Face->new );
$c->app->mode('production');
Спасибо за наводку, но нет.
Я имел в виду штатные плагины: Mojolicious::Plugin::DefaultHelpers,
Mojolicious::Plugin::TagHelpers. use их бесполезен, они не экспортят
свои хелперы. Писать обёртку вокруг них с экспортом каждого хелпера?
Жуть какая...
В "штатном" режиме это же работает как-то.
On
прочтое чтение доки подсказывает
$template_processor = Mojo::Template->new()->prepend("use YourHelpers;");
package YourHelpers'
use Exporter qw( import );
our @EXPORT = qw( my_helper );
1;
15 июня 2017 г., 16:17 пользователь Alexander M. Pravkin via Moscow-pm <
moscow-pm@pm.org> написал:
>
Уважаемые почитатели Mojolicious, помогите с такой проблемой.
Есть некоторое число проектов, которые благополучно работают на perl
5.16-5.20, но на свежем валятся, ибо там повсеместно используются
конструкции, не рекомендованные к использованию. Собственно, встала
задача исправить это безобразие.