2011-09-29 20 views
6

Czy jest jakiś sposób w Dancer, aby wykonać kod po każdym żądaniu?Perl Dancer po haku

Próbowałem z hakiem po, ale wydaje się, że nie wykonuje się po żądaniu pliku ... Istnieje hak zwany "after_file_render", który jest wykonywany przyzwoitą liczbę razy po każdym żądaniu, ale nie jestem jasne, jaki jest jego cel. Czy zawsze jest wywoływana po każdym żądaniu?

Odpowiedz

9

Haczyk after_file_render jest uruchamiany po każdym pomyślnym żądaniu dla pliku statycznego (np. Pliku CSS lub obrazu), podczas gdy hak after jest uruchamiany po wykonaniu czynności przez procedurę obsługi trasy.

Jeśli chcesz uruchomić tego samego kodu zarówno after i after_file_render, można umieścić go w podprogramie i przypisać ją do dwóch haków za pomocą odniesienia, np .:

sub foo { 
    ... 
} 

hook after_file_render => \&foo; 
hook after => \&foo; 
+0

współpracuje również z „przed” – Chris