前回のactions.class.php分割に引き続き・・・というか全く同じです。
symfony 1.0なので微妙に1.1や1.2では違うかもしれません。 そこだけ注意。
symfonyはページのサイドペインなどをコンポーネント化させることが出来ます。
うちの会社だとヘッダ・フッタ・レフトペイン・ライトペインをコンポーネント化し、真ん中だけをxxxxSuccess.phpに書いています。
コンポーネントはcomponentsモジュール/actionsアクションにcomponents.class.phpという名前で置く必要があります。
中身はこんな感じ。
class componentsComponents extends sfComponents{
public function executeHeader()
{}
public function executeFooter()
{}
public function executeLeftPane()
{}
public function executeRightPane()
{}
}
分割の際の命名ルールはアクションと全く同様です。
コンポーネント名Component.class.php です。
アクションのときはComponentではなく、hogeAction.class.phpでしたね。
それぞれのコンポーネントは
headerComponent.class.php
footerComponent.class.php
leftPaneComponent.class.php
rightPaneComponent.class.php
となります。
クラス名もそれぞれ
headerComponent
footerComponent
leftPaneComponent
rightPaneComponent
となります。 継承はsfComponentsです。
アクション同様、components.class.phpと両方に同じコンポーネントがある場合は分割されたものが使用されるようです。
実行部分はexecute()内に書けばいんですが、validate()やhandleError()が使えるかどうかは今の所未確認。
その内確認しときまーす。
てか、この辺のことってマニュアルに書いてないような気がするんだけど、見落としですかな・・・。
- Newer: [ FF11 ] 黒上げと装備考察 ただいまLv27
- Older: [ WP ] WordPressを携帯対応してみた
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://francisca.cc/2009/06/03/symfony-symfony%e3%81%aecomponentsclassphp%e3%82%92%e5%88%86%e5%89%b2%e3%81%99%e3%82%8b/trackback/
- Listed below are links to weblogs that reference
- [ symfony ] symfonyのcomponents.class.phpを分割する from 私事。 跡地