[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как обойтись без global?
LRCenter
В одном файле скрипта умещается куча разных подпрограмм. Разделяю switch-ем, они все работают с внешними данными которые нужно в них передать.

Как можно обойтись без такой порнографии и сделать код более изящным?

switch ($_GET['action'])
{
case one:
global $var1;
global $var2;
global $var3;
global $varn;
#...
break;

case two:
global $var1;
global $var2;
global $var3;
global $varn;
#...
break;

case three:
global $var1;
global $var2;
global $var3;
global $varn;
#...
break;
}




Спустя 1 час, 15 минут, 35 секунд (25.02.2011 - 19:41) sergeiss написал(а):
А ты можешь вообще объяснить, что это ты хотел сделать? В данный момент, действительно, порно smile.gif какое-то.

Спустя 7 минут, 3 секунды (25.02.2011 - 19:48) LRCenter написал(а):
В каждой секции код разного назначения, главное это то что внутрь, для работы, нужно передать один и тот-же набор управляющих переменных.

Спустя 2 минуты, 46 секунд (25.02.2011 - 19:50) sergeiss написал(а):
Если один и тот же набор, то зачем ты его объявляешь в каждой секции?

Плюс к этому, зачем вообще глобал использовать, почему бы не массив?

Спустя 3 минуты, 13 секунд (25.02.2011 - 19:54) LRCenter написал(а):
В смысле, суперглобальный?

Спустя 32 минуты, 11 секунд (25.02.2011 - 20:26) Snus написал(а):
LRCenter
Ничего не понял... зачем тебе в switch использовать global?

Спустя 7 минут, 12 секунд (25.02.2011 - 20:33) LRCenter написал(а):
Snus
Да не, не, все норм. - разобрался. Просто мне тут один индусский скрипт в руки попался, чуть мозг не сломал пока с ним разбирался biggrin.gif

Спустя 2 минуты, 15 секунд (25.02.2011 - 20:35) Snus написал(а):
LRCenter
global используются в случае с функциями, чтобы использовать в них переменные извне функции. А switch - это банальное условие, заменяющее if elseif else

Спустя 9 минут, 6 секунд (25.02.2011 - 20:44) sergeiss написал(а):
LRCenter - я имел ввиду, что можно просто массив сделать, который можно передать в качестве параметра. Ибо чем больше глобальных переменных, тем неудобнее работать (моё личное мнение, которое хрен оспоришь smile.gif).


_____________
Меньше кода - меньше багов ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.