木内智史
samur****@don-q*****
2006年 6月 21日 (水) 16:14:40 JST
お世話になっております。木内です 一橋さん、ご回答ありがとう御座いました。 ActiveGatewayの最新版はどうやっても手に入らないのでしょうか…? 現在の状態だと、やはりまだ公開できると判断できなのでしょうか。。。 ActiveGatewayはとても魅力的なサポートだと思いますので、是非、次バージョ ンの公開を期待しております。 # [ActiveGatewayのソースを見て思ったこと] # 次バージョンでどうなってるかは分かりませんが、1レコードのインスタンス # や複数のレコードインスタンスを保持したインスタンスのprivateなプロパティ # への外部からの参照がよく目につきました。 # そもそも生成するときに、外部からprivateな値を設定しているのですが…。 # これはstdClassを使っているため、やむを得ないとは思うのですが、個人的な # 感覚ながら、やはり、外部から$work->_belongs_toのような、private値の直 # アクセスは避けたいなあと思います。 # ここらへんの意図は、 # 「ActiveGatewayが内部でstdClassを使用して作成したインスタンスなんだか # ら内部も同様じゃないの?privateを直接参照できて当たり前」 # という事でもあるのでしょうか? # PHPに限らず、プログラマとして知識も経験も浅いので、ちょっと意図を汲め # ないところがありました。 ・・・・・・・・・・・・・・・・・・・・ > 携帯対応の方です。 > これは一つのアクションでテンプレートが複数ある場合の対応で > 恐らくは携帯もそうですが、国際化の対応も同じだと思ってます。 > > $template = $this->getAttribute($view); > の部分を下記に変更しています。 > if (is_string($view) && strpos(':', $view) !== false) { > $template = $view; > } else { > $template = $this->getAttribute($view); > } > > ただ、この方式だとテンプレート決定ロジックがほぼ固定の場合、 > 全アクションにテンプレート決定ロジックを適用するのが面倒になります。 そうですね、テンプレートを動的に定めたいという事ではなく、テンプレートの 決定ロジックは固定です。 つまり、 「携帯であれば、携帯の(さらにキャリアや世代にあった)テンプレートを表示」 というだけですので、それは主にフォルダ管理というもっとも単純な管理方法に なっております。 参照フォルダの切り分けというロジックを、 > Viewフィルタに抽象メソッド(decideTemplate)を予め入れておいて > テンプレートファイル名の決定はこのメソッドを使うようにしておく。 というのは、なるほど!と思いました。 現在はSmarty4Maple内でfetchをoverrideし、そのfetchが切り分け処理を行っちゃっ ているので、依存度が高い。。。 ありがとう御座いました、参考にさせいただきます! -- 木内智史 <samur****@don-q*****>