sfWidget系クラスの初期化チェーン
例:sfWidgetFormChoice
1.sfForm派生クラス内にて、各フォームへの要素割り当て
<?php $this->setWidgets( array( 'options'=> new sfWidgetFormChoice( array( 'choices'=>array( 'value1'=>'name1', 'value2'=>'name2'), 'multiple'=>true, 'expanded'=>true ) ) )); ?>
2.~SYMFONY_LIB_DIR/widget/sfWidgetFormChoice.class.php
sfWidgetFormChoiceにはコンストラクタが定義されていないので、親クラスのsfWidgetFormのコンストラクタへ
3.~SYMFONY_LIB_DIR/widget/sfWidgetForm.class.php
コンストラクタで共通オプションが設定された後、さらに親クラスのsfWidgetのコンストラクタへ
(共通オプションは、id_format、is_hidden、needs_multipart、default、labelです)
4.~SYMFONY_LIB_DIR/widget/sfWidget.class.php
コンストラクタ内で、configureメソッドが呼び出されます。
configureが派生クラスでオーバーライドされている場合は、派生クラスのメソッドが呼び出されます。
つまりここで sfWidgetFormChoice の configure が呼び出されます。
(コンストラクタに指定した $options、$attributes を引き継ぐ)