fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev | Chapter 46. HOOK(フック) | Next

# HOOK の命名規則

HOOK 名前の標準的な形式については

    役割名_メソッド名_start_hook
    役割名_メソッド名_end_hook

などとすることにしました。ここで役割名は「use_XXX_function」(例: use_article_post_function)の XXX 部分です。 もっと粒度の細かい HOOK については、この形式でないものもあります。

たとえば、fmlconf コマンドのメインメソッド run() の HOOK の名前は

    fmlconf_run_start_hook
    fmlconf_run_end_hook

となり、run() の中での hook 呼び出しは次のようなコードになります。

    sub run
    {
        my ($curproc, $args) = @_;
        my $config  = $curproc->{ config };

        my $eval = $config->get_hook( 'fmlconf_run_start_hook' );
        if ($eval) {
    	eval qq{ $eval; };
    	print STDERR $@ if $@;
        }

        $curproc->_fmlconf($args);

        $eval = $config->get_hook( 'fmlconf_run_end_hook' );
        if ($eval) {
    	eval qq{ $eval; };
    	print STDERR $@ if $@;
        }
    }

Prev | Home | Next
HOOK(フック) | Up | レシピ’s

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.