複数のアプリで共通のテンプレートファイルを使う
にはどうしたらいいのかなーとおもってTemplateのdocを眺めていたら
my $tt = Template->new({
LOAD_TEMPLATES => [
Template::Provider->new( INCLUDE_PATH => '/path/to/myapp/templates' ),
Template::Provider->new( INCLUDE_PATH => '/path/to/common/templates' ),
],
PREFIX_MAP => {
default => 0,
common => 1,
},
});
こんな感じでやれば、
[% INCLUDE 'common:header.tt' %]
ってやれば2個目のProviderが使われるようだ。なるほど。
0とか1とかはLOAD_TEMPLATESの配列の添え字を渡すみたい。。
ちなみにTemplate::FAQにのってる。
make_schema_at が external クラスも読むようになっている
既存のDBに接続してテーブル情報などを取得して、DBIx::Class::Schema のテーブルクラスを作成してくれる Schema::Loader の make_schema_at
が自分で定義した外部クラスファイルも見てくれるようになっていた。
perl -Ilib -MDBIx::Class::Schema::Loader=make_schema_at,dump_to_dir:tmp -e 'make_schema_at("MyApp::Schema", { components => [qw/ResultSetManager UTF8Columns/]}, ["dbi:mysql:myapp","root"])'
などとすると、./tmp にスキーマクラスをダンプしてくれるのだけど、-Ilib している中にすでに MyApp::Schema::User とかがかいてあると、それも作成するクラスにくっつけてくれる。
便利だ。
テーブル定義はSchema::Loader
にまかせてメソッドやリレーション定義だけをテーブルクラスに書いていくのが好き。
でもさっきResultSetManagerとSchema::Loaderって併用できないことが判明。
不貞昼寝。
HTML::Widget
試用中。
perlコード内でフォーム生成するのは違和感ありすぎるし、気に入らない。うーむ。
ニューPCげっとーー
Athlon64X2 5000+!!
もう自作とかめんどうにかんじるようになってしまい、ショップブランドで購入。
自作するようになってからのメインPCのCPU遍歴
- K6-2 350MHz
- Duron 1.3MHz
- AthlonXP 2100+
- Athlon64X2 5000+
AMDばっかだわー。