複数の PHP フレームワーク、特に Zend Framework について調べてきましたが、適切な進め方について混乱しています。
Zend Framework は ActiveRecords を使用しませんが、代わりにテーブル データ ゲートウェイと行データ ゲートウェイ パターンを使用し、DataMapper を使用して行データ ゲートウェイの内容をモデルにマップします。これは、モデルに 1 がない場合に ActiveRecord が機能しなくなるためです。データベース テーブルへの 1 つのマッピング。Zend クイックスタート ガイドにこの例があります。
私には、彼らの例は、いたるところにたくさんのゲッターとセッターがあり、非常に肥大化しているように見えます。ドメイン駆動設計に関するさまざまなブログ投稿に出くわしました。非常に多くのゲッターとセッターを使用することは、すべての内部モデル データを外部に公開するため、悪い習慣であり、パブリック属性よりも利点がないと主張しています。ここに一例があります。
私の質問: これらのゲッターとセッターを削除すると、どのようにビューをレンダリングしますか? 実際にユーザーに何かを表示できるように、ある時点でデータがビューにヒットする必要があります。DDD のアドバイスに従うと、MVC での M と V の分離が崩れるようです。MVC と Zend の例に従うと、DDD が壊れているようで、すべてのモデルに対して大量のゲッター、セッター、および DataMappers を入力する必要があります。大変な作業であるだけでなく、DRY にも違反しているようです。
いくつかの (へのリンク) 良い例、またはすべてがどのように適合するかについての詳細情報をいただければ幸いです。ここでアーキテクチャとデザインのスキルを向上させようとしています。