我有大量的域对象使用数据映射器来完成所需的数据库工作,因此域对象不知道映射器或数据来自何处以保持高级抽象。现在我的问题是我有一个Auth
对象,我在应用程序启动时就像这样使用了这个对象:
$auth = $container->get('auth');
$auth->isAllowed($pageName, $accountType);
目前我在课堂上做我的SQL工作并且它有效,但有些东西告诉我我做错了。有没有更好的方法来实现这一目标?
我想有一种方法可以做到这一点,我将$auth
对象放入$authDAO
或$authMapper
对象中,以查找数据库中的访问控制列表,但这不是对我有意义,因为Auth
对象实际上并不是你所谓的“域对象”,我的眼睛肯定不需要数据映射器。
我的Auth
对象中是否可以使用数据库逻辑?或者是否有更好的方法来处理非域对象的数据库逻辑/工作?