我的控制器有一个帐户对象和一个用户对象,几乎所有与后端的交互都依赖于这些对象来设置访问权限、限制数据加载、++++(我没有使用任何特定的框架)
我的控制器有不同的方式知道要使用哪些对象,但通常这是在登录用户的会话中(但后端进程可能会从队列等中获取此信息)。
所以,我正在尝试为我的 ServiceLayer 设置 PHP-DI,我需要将 Account、User 对象注入到服务中,但是我该如何以一种好的方式来确保它们具有正确的值呢?
我的第一次尝试是将其传递给 ContainerFactory:
public static function getInstance(EnvironmentConfig $config, ?int $accountId, ?int $userId):Container
然后在配置中动态使用这些值,但是当我启用编译时,由于值被缓存,这停止了工作。(很明显但是是的..)
我可以使用工厂来创建 userObject 和 Account 对象,例如直接从工厂中的会话中读取值。但这感觉很脏,并且只在某些情况下有效。
该文档仅处理特定于环境的值,因此我没有找到有关如何处理特定于会话的数据的任何好的描述。
有什么建议的模式吗?