extract VS global

MpaK69

Новичок
extract VS global

возник маленький вопрос, у меня внутри функций использует 10-12 глобальных переменных, объявляею global'ом

вот вопрос, если делать через extract($GLOBALS) то на сколько это медлнее и какие минусы?

(зы. про стиль программирования говорить ничего не надо, люблю перловку)
 

MpaK69

Новичок
admin мда, действительно хороший вопрос... часть да, часть нет

похоже прийдется остановиться на global и $GLOBALS['var']
 

su1d

Старожил PHPClubа
а разве нельзя сделать в одну строчку:
PHP:
foreach($GLOBALS as $k => $v) $$k =& $GLOBALS[$v];
?? =)
 

MpaK69

Новичок
просто подумываю, зачем внутри извлекать еще 20-30 не нужных внутри функции глобальных переменных?
 

Demiurg

Guest
Использование глобальных переменных - это вообще плохой стиль, об это стоит задумываться.
 

MpaK69

Новичок
Demiurg
простите, но ничего не вижу плохого, на C писал так, на PERL, почему бы и на пхп такого не попользовать :)
 

Demiurg

Guest
И на С это тоже плохой стиль. Что в этих переменных хранится ?
 

Crazy

Developer
На C и Perl тоже не надо было так писать.

-~{}~ 07.05.04 22:29:

Как мы синхронно...
 

MpaK69

Новичок
Demiurg Информация котороая все равно должна потом через шаблонизатор уйти пользователю и сами шаблоны, думаю ничего страшного в этом нет
 

Crazy

Developer
MpaK69, у тебя "шаблонизатор" кормится глобальными переменными? 8-%
 

MpaK69

Новичок
Crazy гы, чего, опять плохо да? (QuickTemplate ot товарища Tronyx) мне нравиться :) а что есть подводные камни? :)))


и еще вопрос в плане правильности и скорости как лучше проверять
if(empty($var)){

или

if($var==''){

???
 

Crazy

Developer
Автор оригинала: MpaK69
Crazy гы, чего, опять плохо да? (QuickTemplate ot товарища Tronyx) мне нравиться :) а что есть подводные камни? :)))
Подводный камень очевидный: начинается неконтролируемое разрастание глобальных переменных. :)

и еще вопрос в плане правильности и скорости как лучше проверять
if(empty($var)){

или

if($var==''){

???
Флудишь по форумам? :) Отвечаю и здесь тоже: это две РАЗНЫЕ конструкции. Они проверяют РАЗНОЕ. Чего ты хотел добиться проверкой?
 

MpaK69

Новичок
ясно всем спасибо

Crazyда нет, не флужу, просто для скорости спрашиваю в двух ;)

а разрастание перемнных, как я понял в пхп это проблема, такак Unset все равно пока процесс не закроется память не очистить (в отличии от перла)
 

Crazy

Developer
Проблема не в памяти. Проблема в том, что однажды ты неизбежно заюзаешь одну переменную в разных целях. :)

Вопрос не в том, случится ли это. Вопрос в том, когда это случится. :)
 

MpaK69

Новичок
Crazy я аккуратный, у меня все переменный записаны, учтены :) но за разъяснения спасибо.
 

Crazy

Developer
Лично знал человека, у которого для краткости переменные назывались v1, v2, v3 и т.а. И на бумажке -- список "какая переменная что означает".

Не шучу.
 
Сверху