Conditions | 8 |
Paths | 20 |
Total Lines | 54 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
78 | public function handle(Event $event): void { |
||
79 | if (!$event instanceof AddingCircleMemberEvent) { |
||
80 | return; |
||
81 | } |
||
82 | |||
83 | if ($this->configService->getAppValue(ConfigService::EVENT_EXAMPLES) !== '1') { |
||
84 | return; |
||
85 | } |
||
86 | |||
87 | $prefix = '[Example Event] (ExampleCircleMemberAdded) '; |
||
88 | |||
89 | if ($event->getType() === CircleGenericEvent::MULTIPLE) { |
||
90 | $members = $event->getMembers(); |
||
91 | } else { |
||
92 | $members = [$event->getMember()]; |
||
93 | } |
||
94 | |||
95 | foreach ($members as $member) { |
||
96 | $circle = $event->getCircle(); |
||
97 | $eventType = ($event->getType() === CircleGenericEvent::INVITED) ? 'invited' : 'joined'; |
||
98 | |||
99 | $info = 'A new member have been added (' . $eventType . ') to a Circle. '; |
||
100 | |||
101 | $info .= 'userId: ' . $member->getUserId() . '; userType: ' . Member::$TYPE[$member->getUserType( |
||
102 | )] |
||
103 | . '; singleId: ' . $member->getSingleId() . '; memberId: ' . $member->getId() |
||
104 | . '; isLocal: ' . json_encode($member->isLocal()) . '; level: ' |
||
105 | . Member::$DEF_LEVEL[$member->getLevel()] . '; '; |
||
106 | |||
107 | $memberships = array_map( |
||
108 | function(Membership $membership) { |
||
109 | return $membership->getCircleId(); |
||
110 | }, $circle->getMemberships() |
||
111 | ); |
||
112 | |||
113 | $listMemberships = (count($memberships) > 0) ? implode(', ', $memberships) : 'none'; |
||
114 | $info .= 'circleName: ' . $circle->getDisplayName() . '; circleId: ' . $circle->getSingleId() |
||
115 | . '; Circle memberships: ' . $listMemberships . '.'; |
||
116 | |||
117 | if ($member->getUserType() === Member::TYPE_CIRCLE) { |
||
118 | $basedOn = $member->getBasedOn(); |
||
119 | $members = array_map( |
||
120 | function(Member $member) { |
||
121 | return $member->getUserId() . ' (' . Member::$TYPE[$member->getUserType()] . ')'; |
||
122 | }, $basedOn->getInheritedMembers() |
||
123 | ); |
||
124 | |||
125 | $info .= ' Member is a Circle (singleId: ' . $basedOn->getSingleId() |
||
126 | . ') that contains those inherited members: ' . implode(', ', $members); |
||
127 | } |
||
128 | |||
129 | $this->log(3, $prefix . $info); |
||
130 | } |
||
131 | } |
||
132 | |||
135 |