pages.scaffold周りのリファクタリング,その2
というわけで,整理
現状の設定ファイルに書いている項目は,scaffoldSettings.tableSettings.以下の
- 親エンティティ([EntityName].parent)
- validator([EntityName].properties.[PropertyName].validators)
- 制約([EntityName].properties.[PropertyName].constraint)
- assist([EntityName].assists)
- ページ遷移([EntityName].transition)
- デフォルト値([EntityName].defaults)
- プロパティを表示する/しない([EntityName].excludes)
- 子エンティティを表示する/しない([EntityName].nochildren)
それから,Entityには,
- TABLE(S2Daoのテーブルアノテーション)
- LABEL(TABLEの名前)
- REMARK(TABLEの備考)
- [PropertyName]_LABEL(プロパティの名前)
- [PropertyName]_REMARK(プロパティの備考)
- names(id+nameで表現される値の名前)
- initialized
- blank
がある.
で,これをリファクタリングして・・・
- i18nはgettextではなくて,Entity毎に設定ファイルに書く.
- id<->nameの変換は,staticではなくconstで
- initializedとblankは親クラスへ
- GenerationGapパターンでAutoとエンティティを生成
で,問題は,ページごとに必要な設定と共通の設定をどこに書くか.
<?php class PSD_AdministratorPage extends Ficus_ScaffoldPage{ /** * @Bean('Administrator') */ protected $person; } ?>
と書いておいて,AdministratorEntityがAutoPersonsEntityを継承してValidatorが設定されていればいいんじゃないかと思った.
けど・・・
もうちょっと考えないといけないなぁ.