ユーザーにログインするとします。ユーザーが検証データを送信すると、コントローラーがPOSTリクエストを取得し、ユーザー登録メソッドを呼び出して登録します。モデルのセッション値の保存と初期化
私はユーザーデータを使ってユーザーセッションを開始したいと思います。しかし、私はどのようにセッションを開始すべきですか?コントローラーやモデルで起動する必要がありますか?セッションを開始しなければならないと言う私のビジネスロジックなので、モデルでなければならないと思います。しかしどうですか?セッションオブジェクトをリポジトリに渡す必要がありますか?
私はDoctrineをモデルレイヤに使用し、残りは自分のフレームワークを使用します。私は依存関係注入を使用しますが、エンティティ/リポジトリ層からセッションへのアクセスを取得する方法はわかりません。
今私が得た唯一の解決策は、セッションをパラメータとして渡すリポジトリメソッドを呼び出すことですが、それは正しいとは感じません。
セッションは、独自のクラスにカプセル化されます。コントローラ層を介してカプセル化する必要はありません。 IMO、特定のビジネスロジックのためにセッション値を書きたい場合、モデルはこのセッションクラスを呼び出すように記述する必要があります。 コントローラーはビューレイヤーにデータを送信するだけです。 – fiunchinho
Hmmm ok。おそらく個人的な選択ですが、私はまだモデルに入れません。同じモデルを使用してデスクトップアプリケーションを作成したいとします。セッションは必要ありません。なぜモデルはそれに依存するでしょうか? – ZolaKt
その場合、その特定のデバイスには必要ないので、ダミーセッションオブジェクト(通常のセッションハンドラとインターフェイスを共有する)をモデルに挿入します。どう思いますか ? – fiunchinho