将论点传递给一个mojolicious应用程序

时间:2018-03-15 10:03:21

标签: perl mojolicious

我正在试图弄清楚在调用一个mojolicious应用程序时是否可以给出一个参数。 This表明这不容易做到,至少不是五年前。通过查看documentation,它看起来有一个选项(或者我读错了吗?)。

Mojolicious::Commands->start_app('MyApp');
Mojolicious::Commands->start_app(MyApp => @ARGV);

如果确实可以,我如何从启动功能访问它?我尝试了一些最明显的,比如......

sub startup {
    my ($self, $arg) = @_;
    ....

这不起作用。

1 个答案:

答案 0 :(得分:5)

看看来源。当您执行start_app时,它最终会运行$app->start,将@ARGV传递给$self->commands->run。那是Mojolicious::Commands的另一个实例,它解析了args并弄清楚如何处理它们。

我最好的猜测是你需要实现一个Mojolicious::Command,然后你可以传递你的args。这可能就像在app对象中设置属性一样简单(可能已经存在,不确定)。