Операция "goto" выводится прямо из ASM или любого другого языка ассемблера.
Здесь ссылка: http://be2.php.net/manual/en/control-structures.goto.php
Мне интересно: что это может сделать, чтобы сделать мой код более организованным? Как я могу реализовать это в крупных проектах, не прикручивая его. Поскольку goto позволит вам прыгать назад и вперед, случайные назначения и бесконечные циклы ждут, если вы используете это неправильно.
Может ли кто-нибудь дать мне пример хорошего использования этого?
EDIT: хорошо, я видел некоторые ответы и, по-видимому, существует широкий консенсус относительно использования заявления "goto", и это плохо.
Поэтому мне все еще интересно: почему PHP захочет добавить его на язык. Если бы они ничего не увидели, они бы этого не сделали... так почему?
Также: qaru.site/info/6802/...
EDIT2: Увидев, что этот вопрос вызвал много плохих вещей, которые были грустны относительно утверждения goto, я пошел и спросил моего отца. Он 52 года и является промышленным инженером.
Он сказал мне пару раз, что он делал хорошее программирование в свои дни и в основном в FORTRAN и COBOL. В настоящее время он занимается ИТ-услугами, сервером и сетевым агентством и т.д.
В любом случае, он сказал кое-что о "еще в свое время..."
Обсудив это немного, он вернулся к утверждению goto, сказав, что даже в свое время как студент, они все знали, что это не умная идея, чтобы использовать его, но тогда они не были намного лучше. Попробовать/поймать было еще много лет, и обработка ошибок практически не была реализована.
Итак, что вы сделали, чтобы проверить свою программу? Добавьте несколько строк в конец, которые позволяют печатать выходные данные и все, что вам нужно для проверки кода, а затем вы размещаете строку: "goto printing" или что-то в этом роде, чтобы начать печать ваших данных.
И таким образом вы постепенно отлаживаете свой код.
Он согласен с тем, что использование goto в современном мире программирования довольно бесполезно. Единственное, что он считает оправданным, - это "аварийный перерыв", который будет использоваться в экстремальных отладочных и непредвиденных ситуациях. Например, goto fatal_error;
, а часть "fatal_error" вашего кода делает некоторые вещи, чтобы показать вам глубинные результаты. Но только во время создания чего-то. Конечный продукт не должен иметь операторов-операторов.
ПОСЛЕДНИЙ РЕДАКТИРОВАТЬ: Еще одна дискуссия о "goto" в PHP5.3/PHP6