最近、ここで紹介した方法を使用して、Doctrine2をZFアプリに統合しました。
http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/
私はそれが機能する方法が本当に好きです、しかし私はこれが私のモデルとマッパーを持っていた方法にどのように影響するかについて少し混乱しています。
混乱を例で説明しましょう、
ZendCastで与えられた例のように、ユーザーエンティティと購入があるとしましょう
現在、Doctrineが使用するこれらのエンティティがあります
/library/ZC/Entity
User.php
Purchase.php
私が持っていた前に
application/models/
User.php (Application_Model_User)
Purchase.php (Application_Model_Purchase)
application / models /のクラスでは、エンティティに作用する関数を記述していました(Fatモデルのシンコントローラーの原則)。たとえば、ユーザーにメールを送信する場合は、Application_Model_UserにsendMailという名前のメソッドを作成します。
/ library / ZC / Entity内のファイルにメソッドを追加できるかどうか、またはDoctrineがデータベースを管理するためにそれらのファイルを使用するため、それがまったく良い考えかどうかはわかりません。
むしろ別のモデルファイルがあり、複数のモデルで機能するマッパーファイルもありました。たとえば、すべての非アクティブなユーザーに電子メールを送信する場合は、メソッドemailInactiveUsersをApplication_Model_UserMapperに作成します。
私は今それをどのように行うでしょうか?
私も少しグーグルして、これを見つけました:
それは言う
データベースからモデルを非常に迅速に作成するDoctrine_Cliと呼ばれるスキャフォールディングツール
ただし、コマンド「generate-models-db」がscripts/doctrine.phpファイルに存在しません。これがDoctrineがバージョン2でサポートを停止したものなのかどうかはわかりません。