| Conditions | 2 |
| Paths | 2 |
| Total Lines | 198 |
| 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 |
||
| 80 | private function transliterate(string $string): string |
||
| 81 | { |
||
| 82 | static $charMap; |
||
| 83 | if (!$charMap) { |
||
| 84 | $charMap = array( |
||
| 85 | // Decompositions for Latin-1 Supplement |
||
| 86 | chr(195) . chr(128) => 'A', |
||
| 87 | chr(195) . chr(129) => 'A', |
||
| 88 | chr(195) . chr(130) => 'A', |
||
| 89 | chr(195) . chr(131) => 'A', |
||
| 90 | chr(195) . chr(132) => 'A', |
||
| 91 | chr(195) . chr(133) => 'A', |
||
| 92 | chr(195) . chr(135) => 'C', |
||
| 93 | chr(195) . chr(136) => 'E', |
||
| 94 | chr(195) . chr(137) => 'E', |
||
| 95 | chr(195) . chr(138) => 'E', |
||
| 96 | chr(195) . chr(139) => 'E', |
||
| 97 | chr(195) . chr(140) => 'I', |
||
| 98 | chr(195) . chr(141) => 'I', |
||
| 99 | chr(195) . chr(142) => 'I', |
||
| 100 | chr(195) . chr(143) => 'I', |
||
| 101 | chr(195) . chr(145) => 'N', |
||
| 102 | chr(195) . chr(146) => 'O', |
||
| 103 | chr(195) . chr(147) => 'O', |
||
| 104 | chr(195) . chr(148) => 'O', |
||
| 105 | chr(195) . chr(149) => 'O', |
||
| 106 | chr(195) . chr(150) => 'O', |
||
| 107 | chr(195) . chr(153) => 'U', |
||
| 108 | chr(195) . chr(154) => 'U', |
||
| 109 | chr(195) . chr(155) => 'U', |
||
| 110 | chr(195) . chr(156) => 'U', |
||
| 111 | chr(195) . chr(157) => 'Y', |
||
| 112 | chr(195) . chr(159) => 's', |
||
| 113 | chr(195) . chr(160) => 'a', |
||
| 114 | chr(195) . chr(161) => 'a', |
||
| 115 | chr(195) . chr(162) => 'a', |
||
| 116 | chr(195) . chr(163) => 'a', |
||
| 117 | chr(195) . chr(164) => 'a', |
||
| 118 | chr(195) . chr(165) => 'a', |
||
| 119 | chr(195) . chr(167) => 'c', |
||
| 120 | chr(195) . chr(168) => 'e', |
||
| 121 | chr(195) . chr(169) => 'e', |
||
| 122 | chr(195) . chr(170) => 'e', |
||
| 123 | chr(195) . chr(171) => 'e', |
||
| 124 | chr(195) . chr(172) => 'i', |
||
| 125 | chr(195) . chr(173) => 'i', |
||
| 126 | chr(195) . chr(174) => 'i', |
||
| 127 | chr(195) . chr(175) => 'i', |
||
| 128 | chr(195) . chr(177) => 'n', |
||
| 129 | chr(195) . chr(178) => 'o', |
||
| 130 | chr(195) . chr(179) => 'o', |
||
| 131 | chr(195) . chr(180) => 'o', |
||
| 132 | chr(195) . chr(181) => 'o', |
||
| 133 | chr(195) . chr(182) => 'o', |
||
| 134 | chr(195) . chr(182) => 'o', |
||
| 135 | chr(195) . chr(185) => 'u', |
||
| 136 | chr(195) . chr(186) => 'u', |
||
| 137 | chr(195) . chr(187) => 'u', |
||
| 138 | chr(195) . chr(188) => 'u', |
||
| 139 | chr(195) . chr(189) => 'y', |
||
| 140 | chr(195) . chr(191) => 'y', |
||
| 141 | // Decompositions for Latin Extended-A |
||
| 142 | chr(196) . chr(128) => 'A', |
||
| 143 | chr(196) . chr(129) => 'a', |
||
| 144 | chr(196) . chr(130) => 'A', |
||
| 145 | chr(196) . chr(131) => 'a', |
||
| 146 | chr(196) . chr(132) => 'A', |
||
| 147 | chr(196) . chr(133) => 'a', |
||
| 148 | chr(196) . chr(134) => 'C', |
||
| 149 | chr(196) . chr(135) => 'c', |
||
| 150 | chr(196) . chr(136) => 'C', |
||
| 151 | chr(196) . chr(137) => 'c', |
||
| 152 | chr(196) . chr(138) => 'C', |
||
| 153 | chr(196) . chr(139) => 'c', |
||
| 154 | chr(196) . chr(140) => 'C', |
||
| 155 | chr(196) . chr(141) => 'c', |
||
| 156 | chr(196) . chr(142) => 'D', |
||
| 157 | chr(196) . chr(143) => 'd', |
||
| 158 | chr(196) . chr(144) => 'D', |
||
| 159 | chr(196) . chr(145) => 'd', |
||
| 160 | chr(196) . chr(146) => 'E', |
||
| 161 | chr(196) . chr(147) => 'e', |
||
| 162 | chr(196) . chr(148) => 'E', |
||
| 163 | chr(196) . chr(149) => 'e', |
||
| 164 | chr(196) . chr(150) => 'E', |
||
| 165 | chr(196) . chr(151) => 'e', |
||
| 166 | chr(196) . chr(152) => 'E', |
||
| 167 | chr(196) . chr(153) => 'e', |
||
| 168 | chr(196) . chr(154) => 'E', |
||
| 169 | chr(196) . chr(155) => 'e', |
||
| 170 | chr(196) . chr(156) => 'G', |
||
| 171 | chr(196) . chr(157) => 'g', |
||
| 172 | chr(196) . chr(158) => 'G', |
||
| 173 | chr(196) . chr(159) => 'g', |
||
| 174 | chr(196) . chr(160) => 'G', |
||
| 175 | chr(196) . chr(161) => 'g', |
||
| 176 | chr(196) . chr(162) => 'G', |
||
| 177 | chr(196) . chr(163) => 'g', |
||
| 178 | chr(196) . chr(164) => 'H', |
||
| 179 | chr(196) . chr(165) => 'h', |
||
| 180 | chr(196) . chr(166) => 'H', |
||
| 181 | chr(196) . chr(167) => 'h', |
||
| 182 | chr(196) . chr(168) => 'I', |
||
| 183 | chr(196) . chr(169) => 'i', |
||
| 184 | chr(196) . chr(170) => 'I', |
||
| 185 | chr(196) . chr(171) => 'i', |
||
| 186 | chr(196) . chr(172) => 'I', |
||
| 187 | chr(196) . chr(173) => 'i', |
||
| 188 | chr(196) . chr(174) => 'I', |
||
| 189 | chr(196) . chr(175) => 'i', |
||
| 190 | chr(196) . chr(176) => 'I', |
||
| 191 | chr(196) . chr(177) => 'i', |
||
| 192 | chr(196) . chr(178) => 'IJ', |
||
| 193 | chr(196) . chr(179) => 'ij', |
||
| 194 | chr(196) . chr(180) => 'J', |
||
| 195 | chr(196) . chr(181) => 'j', |
||
| 196 | chr(196) . chr(182) => 'K', |
||
| 197 | chr(196) . chr(183) => 'k', |
||
| 198 | chr(196) . chr(184) => 'k', |
||
| 199 | chr(196) . chr(185) => 'L', |
||
| 200 | chr(196) . chr(186) => 'l', |
||
| 201 | chr(196) . chr(187) => 'L', |
||
| 202 | chr(196) . chr(188) => 'l', |
||
| 203 | chr(196) . chr(189) => 'L', |
||
| 204 | chr(196) . chr(190) => 'l', |
||
| 205 | chr(196) . chr(191) => 'L', |
||
| 206 | chr(197) . chr(128) => 'l', |
||
| 207 | chr(197) . chr(129) => 'L', |
||
| 208 | chr(197) . chr(130) => 'l', |
||
| 209 | chr(197) . chr(131) => 'N', |
||
| 210 | chr(197) . chr(132) => 'n', |
||
| 211 | chr(197) . chr(133) => 'N', |
||
| 212 | chr(197) . chr(134) => 'n', |
||
| 213 | chr(197) . chr(135) => 'N', |
||
| 214 | chr(197) . chr(136) => 'n', |
||
| 215 | chr(197) . chr(137) => 'N', |
||
| 216 | chr(197) . chr(138) => 'n', |
||
| 217 | chr(197) . chr(139) => 'N', |
||
| 218 | chr(197) . chr(140) => 'O', |
||
| 219 | chr(197) . chr(141) => 'o', |
||
| 220 | chr(197) . chr(142) => 'O', |
||
| 221 | chr(197) . chr(143) => 'o', |
||
| 222 | chr(197) . chr(144) => 'O', |
||
| 223 | chr(197) . chr(145) => 'o', |
||
| 224 | chr(197) . chr(146) => 'OE', |
||
| 225 | chr(197) . chr(147) => 'oe', |
||
| 226 | chr(197) . chr(148) => 'R', |
||
| 227 | chr(197) . chr(149) => 'r', |
||
| 228 | chr(197) . chr(150) => 'R', |
||
| 229 | chr(197) . chr(151) => 'r', |
||
| 230 | chr(197) . chr(152) => 'R', |
||
| 231 | chr(197) . chr(153) => 'r', |
||
| 232 | chr(197) . chr(154) => 'S', |
||
| 233 | chr(197) . chr(155) => 's', |
||
| 234 | chr(197) . chr(156) => 'S', |
||
| 235 | chr(197) . chr(157) => 's', |
||
| 236 | chr(197) . chr(158) => 'S', |
||
| 237 | chr(197) . chr(159) => 's', |
||
| 238 | chr(197) . chr(160) => 'S', |
||
| 239 | chr(197) . chr(161) => 's', |
||
| 240 | chr(197) . chr(162) => 'T', |
||
| 241 | chr(197) . chr(163) => 't', |
||
| 242 | chr(197) . chr(164) => 'T', |
||
| 243 | chr(197) . chr(165) => 't', |
||
| 244 | chr(197) . chr(166) => 'T', |
||
| 245 | chr(197) . chr(167) => 't', |
||
| 246 | chr(197) . chr(168) => 'U', |
||
| 247 | chr(197) . chr(169) => 'u', |
||
| 248 | chr(197) . chr(170) => 'U', |
||
| 249 | chr(197) . chr(171) => 'u', |
||
| 250 | chr(197) . chr(172) => 'U', |
||
| 251 | chr(197) . chr(173) => 'u', |
||
| 252 | chr(197) . chr(174) => 'U', |
||
| 253 | chr(197) . chr(175) => 'u', |
||
| 254 | chr(197) . chr(176) => 'U', |
||
| 255 | chr(197) . chr(177) => 'u', |
||
| 256 | chr(197) . chr(178) => 'U', |
||
| 257 | chr(197) . chr(179) => 'u', |
||
| 258 | chr(197) . chr(180) => 'W', |
||
| 259 | chr(197) . chr(181) => 'w', |
||
| 260 | chr(197) . chr(182) => 'Y', |
||
| 261 | chr(197) . chr(183) => 'y', |
||
| 262 | chr(197) . chr(184) => 'Y', |
||
| 263 | chr(197) . chr(185) => 'Z', |
||
| 264 | chr(197) . chr(186) => 'z', |
||
| 265 | chr(197) . chr(187) => 'Z', |
||
| 266 | chr(197) . chr(188) => 'z', |
||
| 267 | chr(197) . chr(189) => 'Z', |
||
| 268 | chr(197) . chr(190) => 'z', |
||
| 269 | chr(197) . chr(191) => 's', |
||
| 270 | // Euro Sign |
||
| 271 | chr(226) . chr(130) . chr(172) => 'E', |
||
| 272 | ); |
||
| 273 | } |
||
| 274 | |||
| 275 | // transliterate |
||
| 276 | return strtr($string, $charMap); |
||
| 277 | } |
||
| 278 | } |
||
| 279 |