オープンソースプロジェクト
TYPO3向けの軽量なDSLベースモデルレイヤー
qkskima_model
PHP属性による宣言的なバリデーションを備えた、TYPO3向けの軽量なモデル・リポジトリレイヤーです。シンプルなドメインモデルのためのExtbaseに代わる選択肢として開発されました。
課題
単純なデータ構造に対しても、Extbaseのドメインモデル・リポジトリの仕組み一式を使うと、しばしば過剰なオーバーヘッドが発生します。バリデーションロジックは多くの場合、各モデルに手動かつ繰り返し実装する必要があり、ボイラープレートコードや一貫性のないビジネスルールにつながっていました。
解決策
QkSkimaは、TYPO3向けの軽量でDSLベースのモデルシステム「qkskima_model」を開発し、オープンソースとして公開しました。BaseModelおよびBaseRepositoryクラスが、Symfony Validatorをベースとした宣言的なバリデーションルール、プロパティアクセス、ネストしたリレーション、ビジネスルールガードをプレーンなPHPクラスに追加します。Extbaseは一切使用しません。
成果
TYPO3チームは、Extbaseのオーバーヘッドを負うことなく、明確なバリデーションルールとビジネスロジックを備えた独自のドメインモデルを実装できます。オープンソースパッケージとして、同様のニーズを持つあらゆるTYPO3 13/14プロジェクトで自由に利用できます。