ドメイン駆動設計を使用しています。
私は次のモデル(クラス)を持っています:
- ユーザー
- ユーザーDAO
- ユーザーリポジトリ
- ユーザーサービス
UserService には、対応するすべてのアプリケーション ロジックが含まれているはずです。signUp()
そこで、 、logIn()
などのメソッドを取得update()
しました。
私のsignUp()
方法では、ユーザーをサインアップしますが、電子メールの UNIQUE 制約に違反した場合に PDO 例外をスローします。さて、例外は例外的なエラーのみであり、制御フローには悪いので、私の質問は次のとおりです。
emailExist()
メソッドを UserService クラスに入れることはできますか?
そのため、実際にユーザーをサインアップする前に、最初にコントローラーでそれを呼び出すことができます (そのため、メールが既に存在する場合はフォーム エラーで報告できます)。そのようなメソッドが実際にはデータマッパーに属していることは知っていますが、コントローラーで直接使用することは想定されていないため、 UserService クラスに追加し、そこからリポジトリのfindByEmail()
メソッドにマップすることを考えました。