我最近开始使用 RedBean ORM。
我有一个用户 bean 类型来存储用户的信息,以及一个用于用户功能的关联 FUSE 模型。
当用户登录或会话已设置时,Redbean 会检索用户的信息,包括地址。
在用户登录之前,我通过 geoip 位置服务为新用户 bean 设置状态和城市值。
我想知道这种程序的最佳做法是什么。
在我看来,我有几个选择:
- 在用户 FUSE 模型中创建一个方法,该方法实例化 geoip 对象并设置值。
- 在FUSE模型之外实例化geoip对象,直接设置值,即:$user->state = $location->state;
- 在 FUSE 模型之外实例化 geoip 对象,但将对象传递给知道如何处理它的 FUSE 模型设置器。
我猜你真的不想做选项一,因为它为类创建了一个依赖项。
有什么想法吗?