PluginProbe
User Access Manager / 2.3.13
User Access Manager v2.3.13
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / ObjectMembership / ObjectMembershipHandlerFactory.php

ObjectMembershipHandlerFactory.php in User Access Manager 2.3.13, at src/ObjectMembership/ObjectMembershipHandlerFactory.php

73 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace UserAccessManager\ObjectMembership;
6
7 use Exception;
8 use UserAccessManager\Database\Database;
9 use UserAccessManager\Object\ObjectHandler;
10 use UserAccessManager\Object\ObjectMapHandler;
11 use UserAccessManager\UserGroup\AssignmentInformationFactory;
12 use UserAccessManager\Wrapper\Php;
13 use UserAccessManager\Wrapper\Wordpress;
14
15 class ObjectMembershipHandlerFactory
16 {
17 public function __construct(
18 private Php $php,
19 private Wordpress $wordpress,
20 private Database $database,
21 private ObjectMapHandler $objectMapHandler,
22 private AssignmentInformationFactory $assignmentInformationFactory
23 ) {
24 }
25
26 /**
27 * @throws Exception
28 */
29 public function createPostMembershipHandler(ObjectHandler $objectHandler): PostMembershipHandler
30 {
31 return new PostMembershipHandler(
32 $this->assignmentInformationFactory,
33 $this->wordpress,
34 $objectHandler,
35 $this->objectMapHandler
36 );
37 }
38
39 /**
40 * @throws Exception
41 */
42 public function createRoleMembershipHandler(): RoleMembershipHandler
43 {
44 return new RoleMembershipHandler($this->assignmentInformationFactory, $this->wordpress);
45 }
46
47 /**
48 * @throws Exception
49 */
50 public function createTermMembershipHandler(ObjectHandler $objectHandler): TermMembershipHandler
51 {
52 return new TermMembershipHandler(
53 $this->assignmentInformationFactory,
54 $this->wordpress,
55 $objectHandler,
56 $this->objectMapHandler
57 );
58 }
59
60 /**
61 * @throws Exception
62 */
63 public function createUserMembershipHandler(ObjectHandler $objectHandler): UserMembershipHandler
64 {
65 return new UserMembershipHandler(
66 $this->assignmentInformationFactory,
67 $this->php,
68 $this->database,
69 $objectHandler
70 );
71 }
72 }
73