Zend_Formをテーブルタグで2
http://d.hatena.ne.jp/noopable/20090120/1232442059
ここで書いた、ソースを抽象化すると、オレオレのスーパークラス内にloadDefaultDecoratorsを移動、その中からaffect~も削除して独立、
protected function _sort()を変更してaffectを呼んでからparent::_sort()を呼ぶことにし、具象クラス側ではプロパティを設定するだけになった。
こんな感じで、とりあえず動作するクラスを一つ書き、翌日にリファクタリングという流れが好きかも。
デスク上で緻密にクラス設計して書くっていうのは、なんか、全部おかず食べてからご飯って感じがして好きじゃない。
<?php class Flower_Form_DisplayGroup_Table extends Flower_Form_DisplayGroup { protected $_defaultElementDecorators = array( array('HtmlTag', array('tag' => 'td')), array('Label', array('tag' => 'th')), array(array('OuterHtmlTag' => 'HtmlTag'), array('tag' => 'tr')), ); protected $_defaultDecorators = array( array('FormElements'), array('HtmlTag', array('tag' => 'table')), ); }
ところで、デコレーターを使うと、文書の構造化がちょいとおもしろいんだけど、
テンプレートエンジンでデコレーター的な実装をしているものはあまりないのだろうか。