Как преодолеть проблемы переменной области с функциями в php? - PullRequest
0 голосов
/ 25 января 2020

Я создаю веб-сайт инженерного типа, который выполняет множество расчетов по механическим деталям. Я использую функции, но у меня есть около 75 глобальных переменных, которые постоянно используются многими функциями. Объявление их как глобальных внутри каждой функции или, альтернативно, передача так много каждой функции, создает тот самый код спагетти, который я пытаюсь решить с помощью функций. Есть ли способ сделать действительно глобальную переменную в PHP, как и в других языках? Или простая подпрограмма? Или есть лучшая конструкция программирования, которую я должен изучить?

1 Ответ

0 голосов
/ 25 января 2020

Краткий ответ: нет .

PHP требует явного экспорта глобальной области в область локальной функции. Это на самом деле выгода, по моему мнению. Если вы полагаетесь на глобальную область видимости по умолчанию, вы используете функции неправильно. Функциональное программирование предназначено для устранения побочных эффектов (то есть состояния). Требуя, чтобы функция наблюдала глобальное состояние, вы по определению создаете Spooky Action на расстоянии . Не совсем желаемая вещь. Это сделает вас как чтение, так и отладку вашего кода кошмаром.

...