正しい手順に従っていることを願っています。この質問で十分です。検索してもダメだったので、こちらで回答いただけると幸いです。
Laravelを始めたばかりです。私は DDD と呼ばれる新しい設計手法に注目し、できる限りそれを実装したいと考えています。
models フォルダーにある users パッケージがあるとします。ユーザーの検証などの機能にアクセスするためにメイン クラスを使用することは良い習慣でしょうか? このクラスはパッケージのメイン ディレクトリにあり、User と呼ばれます。基本的に、これはリポジトリ、エンティティ、およびサービスをカプセル化します。そうすれば、このデータを必要とするコントローラーが一連の呼び出しで汚染されることはありません。
例: ユーザーのログインを検証するには、次のように呼び出します。
User->validateUserLogin($username, $password);
それから中にUser->validateUserLogin:
public function validateUserLogin($username, $password)
{
$user_login = new User_Login_Entity($username, $password);
// Assume the validation returns a valid User object on successful validation
$User = User_Validation_Service->ValidateUserCredentials($user_login)
}
私はこれについて間違っていますか?私は SRP がこれの鍵であることを知っていますが、それを十分にフォローしているか、またはまったくフォローしているかどうかはわかりません。基本的に私の考えは、コントローラーからモデル作業への 1 つのエントリ ポイントです。これは、コントローラーがリポジトリー、サービス、およびエンティティーを呼び出すのとは対照的です。