Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skracanie kodu
Forum PHP.pl > Forum > Przedszkole
Koldy
Czesc, witajcie.

Jestem w trakcie pisania klasy do laczenia sie z baza danych, a dokladniej tworzeniem zapytan no i mam taki kawalek kodu, ktory w moim mniemaniu nie wyglada najlepiej, cos tu nie gra, tak mi sie wydaje.

  1. foreach($arConditions as $tColumnName => $mixValue) {
  2. if (isset($arParenthesisOpenPos))
  3. foreach ($arParenthesisOpenPos as $iPosition)
  4. $t .= ($iPosition == $iCursorPos+1 ? '(' : null);
  5. $t .= $this->_formatMultiSeparatedValue($cns, $mixValue, $tColumnName, $bHidden);
  6. if (isset($arParenthesisClosePos))
  7. foreach ($arParenthesisClosePos as $iPosition)
  8. $t .= ($iPosition == $iCursorPos+1 ? ')' : null);
  9.  
  10. $t .= ' ' . $arSeparators[$iCursorPos++] . ' ';
  11. }


i tak sie zastanawiam jak to skrocic, myslalem zeby ten foreach w metode wsadzic, ale to z drugiej strony wydaje mi sie glupie, zeby tworzyc metode na 2 liniowy kod, czyz nie?
takze.. pomocy?

Pozdrawiam
Turson
Jeżeli wykorzystujesz do dużo razy, to zawsze osobna metoda będzie lepsza, bo w razie ewentualnej zmiany wystarczy zedytować funkcję a nie ileś tam linijkek.
Poza tym, to
  1. if (isset($arParenthesisClosePos))
  2. foreach ($arParenthesisOpenPos as $iPosition)

w przypadku pustej tablicy wypluje błąd typu Invalid parameter/argument supplied for foreach. Powinieneś jeszcze dodać czy można ją policzyć if(count())
Koldy
ajajaj, liczylem na jakis skrot typu
  1. return ($x ? true : false);

No, ale nic, dzieki za pomoc anyway, a co do pustej tablicy, jest sprawdzana troszke wczesniej, wiec tutaj juz nie potrzeba.

pozdrawiam.
Pyton_000
Turson jezeli dasz do foreach pustą tablicę to nic się nie stanie.
Koldy
owszem, pusta tablica przejdzie bez glosu, chyba ze wartosc bedzie np NULL to wtedy wywali Notice.
Turson
Cytat(Pyton_000 @ 16.07.2014, 19:32:22 ) *
Turson jezeli dasz do foreach pustą tablicę to nic się nie stanie.

Mnie ostatnio blue screen wyskoczył
Pyton_000
To ty dalej na M$ pracujesz ? Wstydź się
Turson
Haha, nie śmiałbym.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.