Catalyst::Plugin::CacheのCacheのsetupの流れ

読了まで:約0分


Catalyst::Plugin::Cache から抜粋。

->setup
->NEXT::setup
->setup_cache_backends
->NEXT::setup_cache_backends
->setup_generic_cache_backend
if ( $class = delete $config{'class'} ) {
->setup_cache_backend_by_class
->register_cache_backend
}
elsif ( $store = delete $config{'store'}
|| $app->default_cache_store  ) {
->setup_${store}_cache_backends
->register_cache_backend
\}

大体こんな感じ。

Cache に使える object は->can('get')->can('set')->can('remove')がすべて真になるオブジェクト。

あと->setup_cache_backend_by_classは指定したクラスのインスタンスを作るんだけど、->setup_generic_cache_backendからsetup_cache_backend_by_class呼び出すことろで hash reference を渡してるっぽいので、設定ファイルで指定できるクラスはコンストラクタの引数に hash reference が指定できるものに限られてくる。まあこのあたり書き換えちゃえばなんとかなるだろうけど。

にしても Catalyst::Plugin::Cache のコードは読みづらいw

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。