我正在试图弄清楚在调用一个mojolicious应用程序时是否可以给出一个参数。 This表明这不容易做到,至少不是五年前。通过查看documentation,它看起来有一个选项(或者我读错了吗?)。
Mojolicious::Commands->start_app('MyApp');
Mojolicious::Commands->start_app(MyApp => @ARGV);
如果确实可以,我如何从启动功能访问它?我尝试了一些最明显的,比如......
sub startup {
my ($self, $arg) = @_;
....
这不起作用。
答案 0 :(得分:5)
看看来源。当您执行start_app
时,它最终会运行$app->start
,将@ARGV
传递给$self->commands->run
。那是Mojolicious::Commands的另一个实例,它解析了args并弄清楚如何处理它们。
我最好的猜测是你需要实现一个Mojolicious::Command,然后你可以传递你的args。这可能就像在app对象中设置属性一样简单(可能已经存在,不确定)。