Безусловные переходы в PHP. Есть ли такая возможность? А то например не всегда удобно писать: PHP: if (условие проверки прав) { echo "у вас нет прав на этот модуль!"; } else { длинный длинный очень длинный код } куда проще PHP: if (условие проверки прав) { echo "у вас нет прав на этот модуль!"; goto end; } длинный длинный очень длинный код метка end; а если несколько условий проверяется - то вообще одни elseif'ы или вообще приходится switch использовать.
armadillo, так так и делаю! Но все же! Вспомним алгоритмизацию, блок-схемы... там все построено на переходах! прямых или по условию...
Когда писалась эта "алгоритмизация"? многоифы нечитабельны, плохо отлаживаемы и наращиваемы. Нам важнее возможность легко нарастить функционал.
К слову в perl есть... http://www.qaki.ru/help_perl_484.html Но я согласен, что его лучше не использовать или использовать в крайнем случае... а лучше реструктурировать программу... В общем гугл меня убедил. Тему можно кидать в топку!
В php 5.3.0 есть. И это одна из причин, по которой я начинаю задумыватся об отказе от PHP. http://bolknote.ru/2008/04/03/~1655/
ну это же всего лишь инструмент... а использовать его или нет каждый решает сам! ИМХО чем больше возможностей у языка тем лучше! Хотя конечно если дорабатываешь чужое... Мдя, я сегодня какой-то противоречивый... )))
Горбунов Олег Мда... Ну может его ещё уберут, хз. Был вариант break'а с указанием на куда перепрыгнуть. И прыгнуть можно было только в низ. А вообще, если не хотите писать большие условия - юзайте try/catch тада, с ним можно неплохо упростить эти IF. Jump ф топку, не факт что он останется вообще.
К сожалению, моя работа, как программиста, ингода состоит в разборе чужого кода. Для меня наличие таких вот потенциально вредных для понимания программы функций - это очень весомый аргумент.
где у нас ветка про "индусский код"? основные перлы в коде я чищу сразу, но вот сегодня наткнулся PHP: while($row = mysql_fetch_assoc($chk)) { if(!empty($row))
Чтобы таких глупостей, как в первом посте не возникало, следует писать нормальное развитие событий в if, а обработку ошибки - в else. Второй вариант - return. Третий вариант - вызов методов. Но никак не goto/jump.
есть еще варианты if ($x==3) { }elseif($x==4) { } elseif ($x==5) { }... то есть это свитч, но нечитаемо, неудобно и не выделяются общие куски .