"PHP" / Говнокод #176 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 guest, (Updated )

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

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8