Обычно я использую процедурное программирование с PHP и просмотр других вопросов здесь с вопросом, как избежать глобалов, ответы часто бывают, чтобы использовать ООП. Разве невозможно избежать глобальных областей с процедурным программированием? < /P>
Например, я могу написать следующую функцию двумя способами. Оба имеют преимущества и недостатки. Если я часто называю эту функцию, то она выглядит раздутой вторым методом, так как она должна проходить все переменные каждый раз. Альтернативой является первым методом, в котором функция просто передает значение, а переменные - все глобальные в функции. < /P>
doWhatIneedtodo(2);
function doWhatIneedtodo($val) {
global $this; global $that; global $theother;
if ($val == 1) {
$this++;
} else
if ($val == 2) {
$that++;
} else
if ($val == 3) {
$theother++;
}
}
doWhatIneedtodo(2,$this,$that,$theother);
function doWhatIneedtodo($val,&$this,&$that,&$theother) {
if ($val == 1) {
$this++;
} else
if ($val == 2) {
$that++;
} else
if ($val == 3) {
$theother++;
}
}
< /code>
или, возможно, есть лучший способ сделать это, которого я не имел? < /p>
Подробнее здесь: https://stackoverflow.com/questions/550 ... rogramming