Dancer2::Plugin 创作
Dancer2::Plugin creation
我正在尝试为 Dancer2 创建一个插件,并在 config.yml 文件中设置选项。
我的 config.yml 文件如下所示:
plugins:
Test:
foo: 1
bar: 2
baz: 3
我试图通过 plugin_setting() 读取这些值,但没有成功。在行中:
my $settings = plugin_setting();
$settings 没有任何价值。我希望得到 foo: 1, bar: 2, baz: 3.
我的代码如下:
package Dancer2::Plugin::Test;
use Dancer2::Plugin;
use Data::Dumper;
our $VERSION = 0.01;
my $settings = plugin_setting();
register foo => sub {
return my $settings = _get_settings();
};
register_plugin for_versions => [ 2 ] ;
sub _get_settings {
my $args = {};
for (qw/foo bar baz/) {
if (exists $settings->{$_}) {
open A, q[>], 'settings.txt';
$args->{$_} = $settings->{$_};
}
}
print A Dumper $args;close A;
return $args;
}
1;
有人能帮帮我吗?
Dancer 对他们的插件进行了彻底的修改,请查看他们的Dancer2::Plugin documentation。
这里我给大家举个简单的例子:
package Dancer2::Plugin::Test;
use strict;
use warnings;
use Dancer2::Plugin;
has dictionary => (
is => 'ro',
from_config => 'dict',
plugin_keyword => 'foo',
);
1;
并在 config.yml
内:
plugins:
Test:
dict:
foo: 1
bar: 2
baz: 3
这样,您可以使用 'plugin top-level' 配置,我会从中假设您 'know' 密钥;一个你不知道有哪些键的配置会有点难以解析。在那个顶层,我创建了一个字典键 dict
,它可以保存一个未知的键值对列表。
在您的插件中,您可以使用 $plugin->dictionary
访问(内部)哈希。
在 Dancer 路线中,您可以简单地使用 foo()
,因为您已声明 is 是关键字。
我觉得开发者做的很好,插件看起来很干净!
我正在尝试为 Dancer2 创建一个插件,并在 config.yml 文件中设置选项。 我的 config.yml 文件如下所示:
plugins:
Test:
foo: 1
bar: 2
baz: 3
我试图通过 plugin_setting() 读取这些值,但没有成功。在行中:
my $settings = plugin_setting();
$settings 没有任何价值。我希望得到 foo: 1, bar: 2, baz: 3.
我的代码如下:
package Dancer2::Plugin::Test;
use Dancer2::Plugin;
use Data::Dumper;
our $VERSION = 0.01;
my $settings = plugin_setting();
register foo => sub {
return my $settings = _get_settings();
};
register_plugin for_versions => [ 2 ] ;
sub _get_settings {
my $args = {};
for (qw/foo bar baz/) {
if (exists $settings->{$_}) {
open A, q[>], 'settings.txt';
$args->{$_} = $settings->{$_};
}
}
print A Dumper $args;close A;
return $args;
}
1;
有人能帮帮我吗?
Dancer 对他们的插件进行了彻底的修改,请查看他们的Dancer2::Plugin documentation。
这里我给大家举个简单的例子:
package Dancer2::Plugin::Test;
use strict;
use warnings;
use Dancer2::Plugin;
has dictionary => (
is => 'ro',
from_config => 'dict',
plugin_keyword => 'foo',
);
1;
并在 config.yml
内:
plugins:
Test:
dict:
foo: 1
bar: 2
baz: 3
这样,您可以使用 'plugin top-level' 配置,我会从中假设您 'know' 密钥;一个你不知道有哪些键的配置会有点难以解析。在那个顶层,我创建了一个字典键 dict
,它可以保存一个未知的键值对列表。
在您的插件中,您可以使用 $plugin->dictionary
访问(内部)哈希。
在 Dancer 路线中,您可以简单地使用 foo()
,因为您已声明 is 是关键字。
我觉得开发者做的很好,插件看起来很干净!