<?php class CriteriumDictionary { const TYPE_ACTIVITY = 0, TYPE_SIZE = 1, TYPE_TRADE = 2, TYPE_VIOVODE = 3, TYPE_CAPITAL = 4, TYPE_REGION = 5, TYPE_INCOME = 6, NO_SUBCRITERIUM = 0 ; self::TYPE_ACTIVITY => 'Działalność', self::TYPE_SIZE => 'Rozmiar', self::TYPE_TRADE => 'Branża', self::TYPE_VIOVODE => 'Województwo', self::TYPE_CAPITAL => 'Kapitał', self::TYPE_REGION => 'Region', self::TYPE_INCOME => 'Przychód' ]; 1 => 'Usługowa', 2 => 'Produkcyjna', 3 => 'Handlowa' ]; 1 => [ 'name' => 'Mała', 'desc' => 'poniżej 50 pracowników' ], 2 => [ 'name' => 'Średnia', 'desc' => 'od 50 do 249 pracowników' ], 3 => [ 'name' => 'Duża', 'desc' => 'od 250 do 500 pracowników' ], 4 => [ 'name' => 'Bardzo duża', 'desc' => 'powyżej 500 pracowników' ] ]; 1 => 'Bankowość', 2 => 'Budownictwo', 3 => 'Energetyka i ciepłownictwo', 4 => 'Handel', 5 => 'Logistyka, transport', 6 => 'Przemysł', 7 => 'IT i telekomunikacja', 8 => 'Ubezpieczenia', 9 => 'Usługi dla ludności', 10 => 'Usługi dla biznesu', 11 => 'Outsourcing', 12 => 'Automotive', 13 => 'Chemiczna', 14 => 'Elektroniczna i elektrotechniczna', 15 => 'Materiały budowlane', 16 => 'Medyczna i farmaceutyczna', 17 => 'Metalowa i metalurgiczna', 18 => 'Spożywcza' ]; 1 => 'zachodniopomorskie', 2 => 'pomorskie', 3 => 'warmińsko-mazurskie', 4 => 'podlaskie', 5 => 'lubuskie', 6 => 'wielkopolskie', 7 => 'kujawsko-pomorskie', 8 => 'mazowieckie', 9 => 'łódzkie', 10 => 'lubelskie', 11 => 'dolnośląskie', 12 => 'opolskie', 13 => 'śląskie', 14 => 'małopolskie', 15 => 'podkarpackie', 16 => 'świętokrzyskie' ]; 1 => 'Przewaga kapitału polskiego (powyżej 50%)', 2 => 'Przewaga kapitału zagranicznego (powyżej 50%)' ]; 1 => [ 'name' => 'Wschód', 'voivodes' => [10, 15, 4, 16], ], 2 => [ 'name' => 'Zachód', 'voivodes' => [5, 6, 1, 11, 12] ], 3 => [ 'name' => 'Północ', 'voivodes' => [7, 2, 3] ], 4 => [ 'name' => 'Południe', 'voivodes' => [13, 14] ], 4 => [ 'name' => 'Centrum', 'voivodes' => [8, 9] ], ]; 1 => 'do 100 mln PLN', 2 => 'od 100 do 1000 mln PLN', 3 => 'powyżej 1000 mln PLN' ]; self::throwExceptionIfCriteriumIsNotExists((int)$criterium); return self::getOneSubcriteriumIfSelectedOrAll((int)$criterium, (int)$subcriterium); } self::throwExceptionIfCriteriumIsNotExists((int)$criterium); return self::extractNamesForCriterium((int)$criterium); } $subcriterias = self::getOneSubcriteriumIfSelectedOrAll((int)$criterium, self::NO_SUBCRITERIUM); switch ($criterium) { case self::TYPE_SIZE: case self::TYPE_REGION: $names = []; foreach ($subcriterias as $subcriteriumId => $subcriterium) { $names[$subcriteriumId] = $subcriterium['name']; } default: $names =& $subcriterias; break; } return $names; } if (self::isCriteriumExists($criterium) === false) { throw new Exception('Kryterium(numer '.$criterium.'), które jest wymaganie nie istnieje w słowniku'); } } if (self::isSelectedSubcriterium($subcriterium)) { self::throwExceptionIfSubcriteriumIsNotExists($criterium, $subcriterium); return self::getData($criterium, $subcriterium); } return $criterium; } return $subcriterium > 0; } private function throwExceptionIfSubcriteriumIsNotExists($criterium, $subcriterium) { if (isSubcriteriumExists($criterium, $subcriterium) === false) { throw new Exception('Subkryterium '.$subcriterium.' dla kryterium '.$criterium.' które jest wymaganie nie istnieje'); } } return []; } return self::$type[$criterium][$subcriterium]; } return self::$type[$criterium]; } } } }
Czy z tymi nazwami to nie przesada? Wzorowałem się na ksiązce czysty kod. Jak wy rozwiązujecie sprawy nazw lepiej dać:
//do something }
czy może:
if ($this->companyNameIsFilled()) { //do something }
Jakie inne dobre praktyki Wy polecacie? Czy takie tworzenie metod to nie przesada?