Service 如何从模型/服务层获取对象

Service 如何从模型/服务层获取对象,service,zend-framework2,entity,domain-driven-design,mapper,Service,Zend Framework2,Entity,Domain Driven Design,Mapper,在我们正在开发的应用程序中,我们有服务、映射器和实体。我们没有使用ORM。在应用程序中,我们有组,组成员&成员实体。GroupMember实体具有groupId、memberId和memberAccess属性。memberAccess字段告诉我们组中成员的访问级别。现在我们需要去拿 成员具有特定访问级别的所有组。(通过提供成员ID) 所有组,其中一名成员是一名成员,并具有访问权限。(通过提供成员ID) 具有访问权限的组中的所有成员。(通过提供groupId) 以下各项应使用哪些服务的任何想法。以

在我们正在开发的应用程序中,我们有服务、映射器和实体。我们没有使用ORM。在应用程序中,我们有
组成员
&
成员
实体。
GroupMember
实体具有
groupId
memberId
memberAccess
属性。
memberAccess
字段告诉我们
组中
成员的访问级别。现在我们需要去拿

  • 成员具有特定访问级别的所有
    。(通过提供
    成员ID
  • 所有
    ,其中一名成员是一名成员,并具有访问权限。(通过提供
    成员ID
  • 具有访问权限的组中的所有
    成员
    。(通过提供
    groupId
  • 以下各项应使用哪些服务的任何想法。以及它们将如何交互以获取特定数据。

    1)MembershipMapper:在此处实现查询,返回实体数组(查看ZfcBase\Mapper\AbstractDbMapper作为基类)

    2) MembershipServive:在getServiceConfig下的Module.php中,将此服务添加到服务管理器中。使用闭包创建新的MembershipService并向其中注入MembershipMapper。groups/members函数可能只是映射器的代理

    function setMembershipMapper($membershipMapper)
    function getMembershipMapper()
    function getGroupsForMember($member, $access = null)
    function getMembersForGroup($group, $access = null)
    
    3) 控制器:将您的MembershipService注入控制器(您可以用创建带有闭包的服务的相同方式来完成此操作)。然后调用服务上的方法

    在服务/控制器管理器中创建服务/映射器/控制器的示例(位于Module.php中)

    1) MembershipMapper:在这里实现查询,返回实体数组(查看ZfcBase\Mapper\AbstractDbMapper作为基类)

    2) MembershipServive:在getServiceConfig下的Module.php中,将此服务添加到服务管理器中。使用闭包创建新的MembershipService并向其中注入MembershipMapper。groups/members函数可能只是映射器的代理

    function setMembershipMapper($membershipMapper)
    function getMembershipMapper()
    function getGroupsForMember($member, $access = null)
    function getMembersForGroup($group, $access = null)
    
    3) 控制器:将您的MembershipService注入控制器(您可以用创建带有闭包的服务的相同方式来完成此操作)。然后调用服务上的方法

    在服务/控制器管理器中创建服务/映射器/控制器的示例(位于Module.php中)

    1) MembershipMapper:在这里实现查询,返回实体数组(查看ZfcBase\Mapper\AbstractDbMapper作为基类)

    2) MembershipServive:在getServiceConfig下的Module.php中,将此服务添加到服务管理器中。使用闭包创建新的MembershipService并向其中注入MembershipMapper。groups/members函数可能只是映射器的代理

    function setMembershipMapper($membershipMapper)
    function getMembershipMapper()
    function getGroupsForMember($member, $access = null)
    function getMembersForGroup($group, $access = null)
    
    3) 控制器:将您的MembershipService注入控制器(您可以用创建带有闭包的服务的相同方式来完成此操作)。然后调用服务上的方法

    在服务/控制器管理器中创建服务/映射器/控制器的示例(位于Module.php中)

    1) MembershipMapper:在这里实现查询,返回实体数组(查看ZfcBase\Mapper\AbstractDbMapper作为基类)

    2) MembershipServive:在getServiceConfig下的Module.php中,将此服务添加到服务管理器中。使用闭包创建新的MembershipService并向其中注入MembershipMapper。groups/members函数可能只是映射器的代理

    function setMembershipMapper($membershipMapper)
    function getMembershipMapper()
    function getGroupsForMember($member, $access = null)
    function getMembersForGroup($group, $access = null)
    
    3) 控制器:将您的MembershipService注入控制器(您可以用创建带有闭包的服务的相同方式来完成此操作)。然后调用服务上的方法

    在服务/控制器管理器中创建服务/映射器/控制器的示例(位于Module.php中)


    谢谢还是很困惑。如果我需要获取成员所属的所有组,access+组创建者,我将使用
    getGroupsForMember
    ,它将返回一个
    成员身份
    对象数组(
    groupId
    userId
    access
    )。现在,如何显示
    组的名称和组创建者。
    具有
    creatorId
    属性。因此,我想我需要遍历每个成员,获取
    groupId
    ,创建一个
    Group
    对象,从
    Group
    获取
    creatorId
    ,然后再次访问persistent来创建创建者的
    User
    对象。因此,我将以2*NoofGroup DB trips结束。谢谢。还是很困惑。如果我需要获取成员所属的所有组,access+组创建者,我将使用
    getGroupsForMember
    ,它将返回一个
    成员身份
    对象数组(
    groupId
    userId
    access
    )。现在,如何显示
    组的名称和组创建者。
    具有
    creatorId
    属性。因此,我想我需要遍历每个成员,获取
    groupId
    ,创建一个
    Group
    对象,从
    Group
    获取
    creatorId
    ,然后再次访问persistent来创建创建者的
    User
    对象。因此,我将以2*NoofGroup DB trips结束。谢谢。还是很困惑。如果我需要获取成员所属的所有组,access+组创建者,我将使用
    getGroupsForMember
    ,它将返回一个
    成员身份
    对象数组(
    groupId
    userId
    access
    )。现在,如何显示
    组的名称和组创建者。
    具有
    creatorId
    属性。因此,我想我需要遍历每个成员,获取
    groupId