【发布时间】:2015-03-29 14:16:59
【问题描述】:
我试图设置一个 UserModel 类,但对数据库和模型的分离非常不满意。
例如我想检查用户名是否已经存在或生成一个新用户。但是所有这些操作都需要数据库连接,而这仅在控制器中可用。当然我总是可以注入数据库对象,但感觉不对。处理这些事情的正确方法是什么?
【问题讨论】:
-
“我想检查用户名是否已经存在或生成一个新用户。但是所有这些操作都需要一个数据库连接,它只在控制器中可用”你想在哪里执行这个操作?不要在模型本身中这么说。
-
不,在一个单独的类中应该处理我的“用户”逻辑。
-
然后你应该为你的类配置一个服务,传递学说 EM 或存储库,从控制器中的容器中检索它(而不是手动实例化)并调用应该封装所有逻辑的方法。阅读更多关于服务容器symfony.com/doc/current/book/service_container.html
标签: php symfony model controller