syntax あつかい
そういうことみたいで。
my local our and or eq ne if else elsif until unless while for foreach return switch case given when
が、perltidy のスペースを伴うキーワードらしい。
もちろん設定で変えられるけど、どうしようかな。
同じように関数じゃないのかとおもったのに my
がある。
my( $self, $c ) = @_;
はperltidyかけると
my ( $self, $c ) = @_;
になる。
つまり perltidy では my
も return
も Perl BestPractices 的成形方法でいうところの識別子的扱いになっているのね、関数ではなく。
でもperl的には両者はどちらも組み込み関数だよね? 何その特別扱い。おしえてDamian!
SQLAlchemy Database Engines 日記。 (TokuLog) - ||= と弊社コーディングルール
return ($self->{_obj} ||= My::Object->new);
は気持ち悪いと思った。括弧付けるなら
return( $self->{_obj} ||= My::Object->new );
じゃね?
とかおもたけど、上記をperltidyにかけると
return ( $self->{_obj} ||= My::Object->new );
になる罠。なんだこりゃ。return
は関数扱いではないのか。
rt.cpan.org
起きたらなんかrt経由でtypo指摘きてたので直した。
んで、てきとうに解決済みにしといたけどいまいち使いかたわからね。
del.icio.us/url/f140e1ad9d58fa4f5b2ee0b55b9002db
Catalyst::Authentication と NEXT.pm. NEXTでのMixinだとplugin内にメソッド定義しにくいため
Auth::Credential::*
,A::Store::*
な名前空間がある。
これはちょっと違うので補足。
それら二つの名前空間は単にいろいろな認証系に対応するためのもので、NEXTのために名前空間をわけているわけではないです。
実装的にも Credential::*
も Store::*
も Authentication プラグインを利用してはいますが、それら自体は普通の Catalyst プラグインで、
use Catalyst qw(
Authentication
Authentication::Credential::Password
Authentication::Store::DBIC
);
などのようにロードします。
なのでそれぞれが、
NEXTでのMixinだとplugin内にメソッド定義しにくい
ということはいえます。
Catalyst の認証系
これはちょっとなぁ。コメントしようと思ったけど途中まで書いて長くなったのでここに書いておく。
まず、Authentication::Credential::*
と Authentication::Store::*
はどちらも Authentication
プラグインを利用する認証プラグインのための名前空間。
なので、上記プラグインは Credential とつけるのはいくない。
Authentication プラグインは Catalyst プラグインだけど、それ自体が認証プラグイン用のフレームワークみたいになっていて、ユーザー(プログラマ)はさまざまなバックエンドプラグインを共通のインタフェースで使用することができるようになっている。
んで、上記プラグイン、名前をかえればいいんじゃね。とかおもったけどよくみたらこれ、$c->login
とかよんでる。
んでloginはプラグイン内になくて、トップレベルのアクションに login : Local
とか書いてる。これ、MyApp.pm にlogin定義してないと動かないんじゃね。
Authentication プラグインのコードが読みにくいということも問題かなぁ。NEXT を使うMixinのプラグイン機構はそのプラグイン内にメソッドを定義しまくれない(すべて$c
の関数になってしまうから)ため、複雑な処理をしようとすると別名前空間を使う必要があるので実装がむずかしい。
それプラス、作者が nothingmuch。この人のコードは基本読みにくいw
でも、Authentication プラグインをつかったはてな認証プラグインはすでにあるので、今からつくるなら Authentication プラグインを使わないもののほうがいいのかな。
use strict
絶対書くのに、いちいち書かなきゃいけないのめんどくね?
dan さんとかがなんかおもしろいことしてなんとかしてくれるんじゃね、と思ったけど。
なんだか普通の反応。しょぼん。