1. PHP / Говнокод #176

    +15.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    switch (true) {
    		case $formid == 'search_form' :
    		case $formid == 'search_theme_form' :
    			$form['#action'] = getlangpref() . ltrim($form['#action'], '/');
    			$form['#submit']['gpcustom_customsubmit'] = array();
    			break;
    		case $formid == 'localizernode_translations' :
    			foreach ( $form['languages'] as $key => $value ) {
    				if ( !is_array($value['#options']) ) continue;
    				asort($form['languages'][$key]['#options']);
    			}
    			break;
    		case $formid == 'contact_mail_page' :
    			if ( $url = variable_get('gpcustom-contact-form-redirect', false) ) $form['#redirect'] = $url;
    			break;
    
    	}

    Долго медитировал над этим кодом...
    Чую, чувак уже достиг нирваны, в отличае от меня...
    (Кусок из Дрюпального модуля)

    Запостил: guest, 15 Декабря 2008

    Комментарии (7) RSS

    • altair:
      Аффтар жжот, пиши исчё
      Ответить
    • Anonymous:
      Дык ёпт, с этим Друпалом не только в нирвану уйти можно.
      Ответить
    • Нормальный подход. Это расширенная возможность конструкции switch. Многие языки этому только завидовать могут. Впервые видел это конструкцию ещё в лиспе, где она воспринималась как норма.
      Ответить
    • Но не в данном случае.
      «$formid == » можно спокойно убрать из case'ов в switch.
      Ответить
    • Svoloch:
      А мне сам подход понравился. Теперь и я буду так писать. Куда более красивей смотрится чем куча elseif, elif и прочего.
      Подозреваю что на какомто этапе среди условий были выражения отличные от «$formid == », а пототом их убрали, а конструкцию так и оставили(работает - не трогай).
      Ответить
    • Аффтар не переносит if'ы, йопт... хосспади :(
      Ответить
    • ДолбопыХЕР.
      Ответить

    Добавить комментарий