Mojolicious::Plugin::Config - Perl的なコンフィグプラグイン
使い方
# myapp.conf (it's just Perl returning a hash) { # Just a value foo => "bar", # Nested data structures are fine too baz => ['♥'], # You have full access to the application music_dir => app->home->child('music') }; # Mojolicious my $config = $self->plugin('Config'); say $config->{foo}; # Mojolicious::Lite my $config = plugin 'Config'; say $config->{foo}; # foo.html.ep %= $config->{foo} # 設定はアプリケーション全体で利用可能 my $config = app->config; say $config->{foo}; # オプションですべてがカスタマイズ可能 my $config = plugin Config => {file => '/etc/myapp.stuff'};
説明
Mojolicious::Plugin::ConfigはPerl的なコンフィグプラグインです。
$app
変数かapp
関数を通して、アプリケーションオブジェクトにアクセスできます。 strict, warnings, utf8と Perl 5.10 featuresが自動的に 有効になっています。 通常のコンフィグファイルmyapp.conf
をmyapp.$mode.conf
のように mode
を指定して拡張することができます。 デフォルトのコンフィグのファイル名はアプリケーションクラスは Mojoliciousのmoniker
メソッドの値から生成されます。
デフォルトで利用可能なプラグインの一覧はMojolicious::Pluginsのプラグイン
の項目を見てください。
オプション
default
# Mojolicious::Lite plugin Config => {default => {foo => 'bar'}};
デフォルトの設定。設定ファイルをオプショナルなものにします。
ext
# Mojolicious::Lite plugin Config => {ext => 'stuff'};
コンフィグファイルのファイル拡張子です。デフォルトはconf
。
file
# Mojolicious::Lite plugin Config => {file => 'myapp.conf'}; plugin Config => {file => '/etc/foo.stuff'};
コンフィグファイル。デフォルトはMOJO_CONFIG
の値かアプリケーションのホームディレクトリの中の$moniker.conf
です。
メソッド
Mojolicious::Plugin::ConfigはMojolicious::Plugin のすべてのメソッドを継承しており、次の新しいメソッドを実装しています。
load
$plugin->load($file, $conf, $app);
コンフィグファイルをロードし、コンテンツをparse
に渡します。
sub load { my ($self, $file, $conf, $app) = @_; ... return $self->parse($content, $file, $conf, $app); }
parse
$plugin->parse($content, $file, $conf, $app);
コンフィグファイルを解析します。
sub parse { my ($self, $content, $file, $conf, $app) = @_; ... return $hash; }
register
my $config = $plugin->register(Mojolicious->new); my $config = $plugin->register(Mojolicious->new, {file => '/etc/app.conf'});
Mojoliciousアプリケーションにプラグインを登録し、設定をマージします。
参考
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(Mojolicious 8.12を反映。2019年6月12日更新)