Enhancement(機能追加・改善) #548
完了Add the anonymous-member system for adding consideration of non-authenticated member (匿名メンバーを扱う仕組みを導入し、非認証ユーザに関する考慮を加える)
100%
説明
Overview (概要)¶
Add the anonymous-member system for adding consideration of non-authenticated member.
匿名メンバーを扱う仕組みを導入し、非認証ユーザに関する考慮を加える。
Spec (仕様)¶
Add the opAnonymousMember class for representing pre-login (anonymous) member, and change the sfOpenPNESecurityUser::getMember() to return an instance of the opAnonymousMember if the member is not logged-in.
An instance of the opAnonymousMember behaves like an instance of the real Member class. It handles all methods of the Member. All getters return an empty value or the fixed value. All setters do nothing.
If there is not the opAnonymousMember, developers must distinguish between logged-in user and non-logged-in user. However, the opAnonymousMember provides common layer between the two type of users. Developer can handle all users just the same.
未ログインメンバー(匿名メンバー)を表現するための opAnonymousMember クラスを追加し、メンバーがログインしていない場合に sfOpenPNESecurityUser::getMember() が opAnonymousMember のインスタンスを返すようにする。
opAnonymousMember のインスタンスは本物の Member クラスのインスタンス化のように振る舞う。Member クラスのすべてのメソッドを扱うことができる。すべてのゲッターは空の値もしくは固定された値を返す。すべてのセッターは何もおこなわない。
もし opAnonymousMember がない場合、開発者はログインユーザと未ログインユーザを区別しなくてはいけなくなる。しかし、 opAnonymousMember はこれら二つのタイプのユーザの共通レイヤーを提供する。開発者はすべてのタイプのユーザを同じように扱うことができる。