Кто-то сказал, что, когда Ваш код PHP и приложение используют глобальные переменные затем, это должен быть запутанный код (я принимаю это). Я использую WordPress много. Насколько я знаю, это - лучшая вещь около большого программного обеспечения PHP. И это использует много глобальных переменных для взаимодействия между его компонентами.
Но забудьте об этом, потому что откровенно говоря, это - единственная вещь, которую я знаю. Таким образом, это полностью смещается; D
Так, мне просто любопытно, Какова характеристика запутанного кода?
PS: единственной вещью, которую я знаю, является WordPress. Так, надо надеяться, возможно, это поможет кому-то дать большой ответ для кого-то, у кого есть небольшой опыт в разработке полного веб-приложения на PHP (например, веб-сайт Переполнения стека).
goto
, По сути, недостаток дизайна и предусмотрительности, и просто мешанина из хаков, сложенных воедино. Это применимо к любому языку, а не только к PHP.
для тех, у кого мало опыта в разработке полноценных веб-приложений на PHP (например, веб-сайт Stack Overflow).
Просто к сведению, но Stack Overflow не был разработан с PHP.
Что ж, если говорить о комментарии, который вы опубликовали, объяснение очень простое.
Использование оператора global
делает источник переменной неизвестным, как другой конец макаронной лапши. Его можно определить везде. Итак, когда вы вызываете свою функцию, вы не знаете, какое значение имеет эта переменная. Вместо этого прямая передача переменной делает его ясным и понятным:
function hello_testing($conditional_random) {
if ($conditional_random)) {
echo "foo is inside";
}
}
Спагетти-код имеет определенные характеристики, которые отличают его от простого плохого кода. Спагетти чрезвычайно сложны и неструктурированы, поэтому сложно проследить ход процесса в программе. Это похоже на попытку распутать лапшу в миске с болоньезе .
Вот почему операторы GOTO
(ужасное слово!) Часто цитируются в этом контексте: оператор GOTO
передает управление в другое произвольно определенное место в кодовой базе. В большинстве языков программирования есть команды, которыми можно злоупотреблять для имитации поведения стиля goto
; например, использование исключений для реализации обычной бизнес-логики, а не для обработки ошибок.
Глобальные переменные вносят свой вклад в спагетти-код, потому что значения присваиваются за пределами области действия текущего программного модуля. Это может затруднить определение того, где в базе кода переменная установлена на заданное значение (или действительно ли она вообще установлена на какое-либо значение).
Между прочим, использование операторов goto
не означает, что программа спагетти. Вполне возможно написать ясный, хорошо структурированный код, используя goto
, просто требуется большая самодисциплина, чтобы не злоупотреблять его гибкостью. Современные языки программирования сделали его использование ненужным и нежелательным.