| Conditions | 38 | 
| Paths | 759 | 
| Total Lines | 138 | 
| Code Lines | 92 | 
| Lines | 15 | 
| Ratio | 10.87 % | 
| 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  | 
            ||
| 81 | private function getKM()  | 
            ||
| 82 |     { | 
            ||
| 83 | $i = 0;  | 
            ||
| 84 |         while ($i < 25) { | 
            ||
| 85 | $kill = zKillRedis();  | 
            ||
| 86 | $i++;  | 
            ||
| 87 | |||
| 88 | //Check if mail is null  | 
            ||
| 89 |             if (!$kill || !array_key_exists('killID', $kill)) { | 
            ||
| 90 | break;  | 
            ||
| 91 | }  | 
            ||
| 92 | |||
| 93 | //Check if mail is a big kill  | 
            ||
| 94 |             if (@$kill['zkb']['totalValue'] >= 10000000000 && @$this->config['plugins']['getKillmails']['bigKills']['shareBigKills'] === 'true') { | 
            ||
| 95 |                 $killID = getPermCache('bigKillNewestKillmailID'); | 
            ||
| 96 |                 if ($this->config['plugins']['getKillmails']['bigKills']['bigKillStartID'] > $killID || null === $killID) { | 
            ||
| 97 | $killID = $this->config['plugins']['getKillmails']['bigKills']['bigKillStartID'];  | 
            ||
| 98 | }  | 
            ||
| 99 | $channelID = $this->config['plugins']['getKillmails']['bigKills']['bigKillChannel'];  | 
            ||
| 100 | $killID = $kill['package']['killmail']['killmail_id'];  | 
            ||
| 101 | $systemID = $kill['package']['killmail']['solar_system_id'];  | 
            ||
| 102 | $systemName = systemName($systemID);  | 
            ||
| 103 | $killTime = $kill['package']['killmail']['killmail_time'];  | 
            ||
| 104 | $victimAllianceID = @$kill['package']['killmail']['victim']['alliance_id'];  | 
            ||
| 105 |                 if (isSet($victimAllianceID)){$victimAllianceName = allianceName($victimAllianceID);} else {$victimAllianceName = null;} | 
            ||
| 106 | $victimName = @$kill['package']['killmail']['victim']['character']['name'];  | 
            ||
| 107 | $victimCorpID = @$kill['package']['killmail']['victim']['corporation_id'];  | 
            ||
| 108 |                 if (isSet($victimCorpID)){$victimCorpName = corpName($victimCorpID);} else {$victimCorpName = null;} | 
            ||
| 109 | $shipName = $kill['package']['killmail']['victim']['shipType']['name'];  | 
            ||
| 110 | $totalValue = number_format($kill['zkb']['totalValue']);  | 
            ||
| 111 | // Check if it's a structure  | 
            ||
| 112 | View Code Duplication |                 if ($victimName !== '') { | 
            |
| 113 |                     $msg = "**10b+ Kill Reported**\n\n**{$killTime}**\n\n**{$shipName}** worth **{$totalValue} ISK** flown by **{$victimName}** of (***{$victimCorpName}|{$victimAllianceName}***) killed in {$systemName}\nhttps://zkillboard.com/kill/{$killID}/"; | 
            ||
| 114 |                 } else { | 
            ||
| 115 |                     $msg = "**10b+ Kill Reported**\n\n**{$killTime}**\n\n**{$shipName}** worth **{$totalValue} ISK** owned by (***{$victimCorpName}|{$victimAllianceName}***) killed in {$systemName}\nhttps://zkillboard.com/kill/{$killID}/"; | 
            ||
| 116 | }  | 
            ||
| 117 |                 if (null === $msg) { // Make sure it's always set. | 
            ||
| 118 | return null;  | 
            ||
| 119 | }  | 
            ||
| 120 | queueMessage($msg, $channelID, $this->guild);  | 
            ||
| 121 | $newID = $killID++;  | 
            ||
| 122 |                 setPermCache('bigKillNewestKillmailID', $newID); | 
            ||
| 123 |                 $this->logger->addInfo("Killmails: BIG KILLMAIL Mail {$killID} queued."); | 
            ||
| 124 | continue;  | 
            ||
| 125 | }  | 
            ||
| 126 | |||
| 127 |             foreach ($this->groupConfig as $kmGroup) { | 
            ||
| 128 |                 $killID = getPermCache("{$kmGroup['name']}newestKillmailID"); | 
            ||
| 129 | |||
| 130 | //check if start id is greater than current id and if it is set  | 
            ||
| 131 |                 if ($kmGroup['startMail'] > $killID || null === $killID) { | 
            ||
| 132 | $killID = $kmGroup['startMail'];  | 
            ||
| 133 | }  | 
            ||
| 134 | |||
| 135 | //setup variables  | 
            ||
| 136 | $corpLoss = false;  | 
            ||
| 137 | $allianceLoss = false;  | 
            ||
| 138 | $corpKill = false;  | 
            ||
| 139 | $allianceKill = false;  | 
            ||
| 140 | $attackerCorpArray = array();  | 
            ||
| 141 | $attackerAllianceArray = array();  | 
            ||
| 142 | |||
| 143 | //Populate arrays with corp and alliance ids of attackers  | 
            ||
| 144 |                 foreach ($kill['killmail']['attackers'] as $attacker) { | 
            ||
| 145 | $attackerCorpArray[] = (int) @$attacker['corporation']['id'];  | 
            ||
| 146 | $attackerAllianceArray[] = (int) @$attacker['alliance']['id'];  | 
            ||
| 147 | }  | 
            ||
| 148 | |||
| 149 | //check if it was corp or alliance kill or lossmail  | 
            ||
| 150 |                 if ((int) @$kill['killmail']['victim']['corporation']['id'] === $kmGroup['corpID'] && (int) $kmGroup['corpID'] !== 0) { | 
            ||
| 151 | $corpLoss = true;  | 
            ||
| 152 |                 } elseif ((int) @$kill['killmail']['victim']['alliance']['id'] === $kmGroup['allianceID'] && (int) $kmGroup['allianceID'] !== 0) { | 
            ||
| 153 | $allianceLoss = true;  | 
            ||
| 154 |                 } elseif (in_array((int) $kmGroup['corpID'], $attackerCorpArray) && (int) $kmGroup['corpID'] !== 0) { | 
            ||
| 155 | $corpKill = true;  | 
            ||
| 156 |                 } elseif (in_array((int) $kmGroup['allianceID'], $attackerAllianceArray) && (int) $kmGroup['allianceID'] !== 0) { | 
            ||
| 157 | $allianceKill = true;  | 
            ||
| 158 |                 } else { | 
            ||
| 159 | //if it wasn't any of these continue in case there is another group to process  | 
            ||
| 160 | continue;  | 
            ||
| 161 | }  | 
            ||
| 162 | |||
| 163 | //Check if it's a lossmail and continue to next group if lossmails are turned off  | 
            ||
| 164 |                 if (($corpLoss === true || $allianceLoss === true) && $kmGroup['lossMails'] === 'false') { | 
            ||
| 165 | continue;  | 
            ||
| 166 | }  | 
            ||
| 167 | |||
| 168 | //if big kill isn't set, disable it (unless someone explodes with a lot of plex..)  | 
            ||
| 169 |                 if (null === $kmGroup['bigKill']) { | 
            ||
| 170 | $kmGroup['bigKill'] = 99999999999999999999999999;  | 
            ||
| 171 | }  | 
            ||
| 172 | |||
| 173 | //get the kill values  | 
            ||
| 174 | $killID = $kill['killmail']['killID'];  | 
            ||
| 175 | $channelID = $kmGroup['channel'];  | 
            ||
| 176 | $systemName = $kill['killmail']['solarSystem']['name'];  | 
            ||
| 177 | $killTime = $kill['killmail']['killTime'];  | 
            ||
| 178 | $victimAllianceName = @$kill['killmail']['victim']['alliance']['name'];  | 
            ||
| 179 | $victimName = @$kill['killmail']['victim']['character']['name'];  | 
            ||
| 180 | $victimCorpName = @$kill['killmail']['victim']['corporation']['name'];  | 
            ||
| 181 | $shipName = @$kill['killmail']['victim']['shipType']['name'];  | 
            ||
| 182 | $rawValue = $kill['zkb']['totalValue'];  | 
            ||
| 183 | //Check if killmail is older than 2 days  | 
            ||
| 184 |                 if ((time() - (60 * 60 * 48)) > DateTime::createFromFormat('Y.m.d H:i:s', $killTime)->getTimestamp()) { | 
            ||
| 185 | continue;  | 
            ||
| 186 | }  | 
            ||
| 187 | //Check if killmail meets minimum value  | 
            ||
| 188 |                 if (isset($kmGroup['minimumValue'])) { | 
            ||
| 189 |                     if ($rawValue < $kmGroup['minimumValue']) { | 
            ||
| 190 |                         $this->logger->addInfo("Killmails: Mail {$killID} ignored for not meeting the minimum value required."); | 
            ||
| 191 |                         setPermCache("{$kmGroup['name']}newestKillmailID", $killID); | 
            ||
| 192 | continue;  | 
            ||
| 193 | }  | 
            ||
| 194 | }  | 
            ||
| 195 | $totalValue = number_format($kill['zkb']['totalValue']);  | 
            ||
| 196 | // Check if it's a structure  | 
            ||
| 197 | View Code Duplication |                 if ($victimName !== '') { | 
            |
| 198 |                     if ($kmGroup['bigKill'] != null && $rawValue >= $kmGroup['bigKill']) { | 
            ||
| 199 | $channelID = $kmGroup['bigKillChannel'];  | 
            ||
| 200 |                         $msg = "@here \n :warning:***Expensive Killmail***:warning: \n **{$killTime}**\n\n**{$shipName}** worth **{$totalValue} ISK** flown by **{$victimName}** of (***{$victimCorpName}|{$victimAllianceName}***) killed in {$systemName}\nhttps://zkillboard.com/kill/{$killID}/"; | 
            ||
| 201 |                     } elseif ($kmGroup['bigKill'] == null || $rawValue <= $kmGroup['bigKill']) { | 
            ||
| 202 |                         $msg = "**{$killTime}**\n\n**{$shipName}** worth **{$totalValue} ISK** flown by **{$victimName}** of (***{$victimCorpName}|{$victimAllianceName}***) killed in {$systemName}\nhttps://zkillboard.com/kill/{$killID}/"; | 
            ||
| 203 | }  | 
            ||
| 204 |                 } elseif ($victimName === '') { | 
            ||
| 205 |                     $msg = "**{$killTime}**\n\n**{$shipName}** worth **{$totalValue} ISK** owned by (***{$victimCorpName}|{$victimAllianceName}***) killed in {$systemName}\nhttps://zkillboard.com/kill/{$killID}/"; | 
            ||
| 206 | }  | 
            ||
| 207 | |||
| 208 |                 if (null === $msg) { // Make sure it's always set. | 
            ||
| 209 | return null;  | 
            ||
| 210 | }  | 
            ||
| 211 | queueMessage($msg, $channelID, $this->guild);  | 
            ||
| 212 |                 $this->logger->addInfo("Killmails: Mail {$killID} queued."); | 
            ||
| 213 |                 setPermCache("{$kmGroup['name']}newestKillmailID", $killID); | 
            ||
| 214 | //don't process the same kill twice  | 
            ||
| 215 | break;  | 
            ||
| 216 | }  | 
            ||
| 217 | }  | 
            ||
| 218 | }  | 
            ||
| 219 | }  | 
            ||
| 220 | 
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.