名前

Mojolicious::Plugins - プラグインマネージャー

使い方

use Mojolicious::Plugins;

my $plugins = Mojolicious::Plugins->new;
push @{$plugins->namespaces}, 'MyApp::Plugin';

説明

Mojolicious::Pluginsは、Mojoliciousのプラグインマネージャです。

属性

Mojolicious::Pluginsは、以下の属性を実装しています。

namespaces

my $namespaces = $plugins->namespaces;
$plugins       = $plugins->namespaces(['Mojolicious::Plugin']);

プラグインをロードするときに見る名前空間。 特定のアプリケーションプラグインをロードするために、名前空間を追加することができます。

push @{$plugins->namespaces}, 'MyApp::Plugins';

プラグイン

以下のプラグインがMojoliciousのディストリビューションにはサンプルとして含まれています。

Mojolicious::Plugin::Config

Mojolicious::Plugin::Config

Perlで書ける設定ファイル。

Mojolicious::Plugin::DefaultHelpers

Mojolicious::Plugin::DefaultHelpers

自動的にロードされる一般的な目的のヘルパーの集合です。

Mojolicious::Plugin::EPLRenderer

Mojolicious::Plugin::EPLRenderer

自動的に読み込まれる、単純な埋め込みPerlのテンプレートのためのレンダラーです。

Mojolicious::Plugin::EPRenderer

Mojolicious::Plugin::EPRenderer

自動的にロードされるより賢い埋め込みPerlのテンプレートのためのレンダラーです。

Mojolicious::Plugin::HeaderCondition

Mojolicious::Plugin::HeaderCondition

自動的にロードされるあらゆる種類のヘッダーのためのルート条件です。

Mojolicious::Plugin::JSONConfig

Mojolicious::Plugin::JSONConfig

JSON設定ファイル。

Mojolicious::Plugin::Mount

Mojolicious::Plugin::Mount

Mojoliciousアプリケーション全体をマウントします。

Mojolicious::Plugin::TagHelpers

Mojolicious::Plugin::TagHelpers

自動的に読み込まれる、テンプレートの特別なヘルパーの集合です。

イベント

Mojolicious::PluginsMojo::EventEmitterからすべてのイベントを継承しています。

ATTRIBUTES

Mojolicious::Plugins implements the following attributes.

namespaces

my $namespaces = $plugins->namespaces;
$plugins       = $plugins->namespaces(['Mojolicious::Plugin']);

プラグインをロードする名前空間。デフォルトはMojolicious::Plugin

# プラグインをロードする他の名前空間を追加
push @{$plugins->namespaces}, 'MyApp::Plugin';

メソッド

Mojolicious::Pluginsは、Mojo::EventEmitterのすべてのメソッドを継承し、以下の新しいメソッドを実装しています。

emit_chain

$plugins->emit_chain('foo');
$plugins->emit_chain(foo => 123);

チェーンされたフックイベントを発行します。

emit_hook

$plugins = $plugins->emit_hook('foo');
$plugins = $plugins->emit_hook(foo => 123);

フックイベントを発行します。

emit_hook_reverse

$plugins = $plugins->emit_hook_reverse('foo');
$plugins = $plugins->emit_hook_reverse(foo => 123);

逆順でフックイベントを発行します。

load_plugin

my $plugin = $plugins->load_plugin('some_thing');
my $plugin = $plugins->load_plugin('SomeThing');
my $plugin = $plugins->load_plugin('MyApp::Plugin::SomeThing');

設定された名前空間かモジュールのフルネームから、プラグインをロードします。

register_plugin

$plugins->register_plugin('some_thing', Mojolicious->new);
$plugins->register_plugin('some_thing', Mojolicious->new, foo => 23);
$plugins->register_plugin('some_thing', Mojolicious->new, {foo => 23});
$plugins->register_plugin('SomeThing', Mojolicious->new);
$plugins->register_plugin('SomeThing', Mojolicious->new, foo => 23);
$plugins->register_plugin('SomeThing', Mojolicious->new, {foo => 23});
$plugins->register_plugin('MyApp::Plugin::SomeThing', Mojolicious->new);
$plugins->register_plugin(
  'MyApp::Plugin::SomeThing', Mojolicious->new, foo => 23);
$plugins->register_plugin(
  'MyApp::Plugin::SomeThing', Mojolicious->new, {foo => 23});

設定された名前空間かモジュールのフルネームからプラグインをロードし、registerを実行します。 オプションの引数は、registerに渡されます。

参考

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

(Mojolicious 8.12を更新。2019年6月12日更新)