Про именование переменных

bubchen

Новичок
Про именование переменных

Приветствую!

Много лет подряд использовал в коде массив

PHP:
$massiv[1]  = "a";
$massiv[2]  = "b";
и сессию, которая называлась, также как и массив, но содержало строку.
И они у меня никак не пересекались, не конфликтовали, жили своей жизнью.

PHP:
$_SESSION['massiv'] = 'hello';
И это все замечательно работало до того момента, как что-то хостер махнул у себя на сервере и внезапно сессия стала воспринимать себя не как отдельное существо, а как первоначальный массив. И соответственно работать не захотела.

Хочу спросить: что это может быть за настройка такая? Или это старый добрый register_globals так себя веде, который я наблюдаю включеным.

php ver 5.2.4

Спасибо!
 

bubchen

Новичок
увы,
php_value register_globals off в .htaccess
не сработало.

поэтому сразу проверить на деле оно это или не оно — не могу.

отписал в замечательный хостинг на тему...
 

Beavis

Banned
bubchen
но вообще лучше писать скрипты так, чтобы они и с включенным регистер_глобалс работали.....
 

Духовность™

Продвинутый новичок
Автор оригинала: Beavis
bubchen
но вообще лучше писать скрипты так, чтобы они и с включенным регистер_глобалс работали.....
Что за бред? регистер_глобалс уберут в 6 версии языка. Писать скрипты под регистр глобалс, все равно, что писать и верстать скрипты под какой-нибудь допотопный IE - никому не нужно и вредно.
 

dimagolov

Новичок
Beavis, это невозможно в принципе. скрипт не может предугадать какие переменные переопределятся из POST/GET при включенных глобалсах.
 

Фанат

oncle terrible
Команда форума
и чо? зато скрипт прекрасно может знать, какие значения он САМ определил
 

Adelf

Administrator
Команда форума
dimagolov
Этот вопрос всплывает только тогда, когда забывают нормально инициализировать переменные перед их использованием.
 

Beavis

Banned
Автор оригинала: triumvirat
Что за бред? регистер_глобалс уберут в 6 версии языка. Писать скрипты под регистр глобалс, все равно, что писать и верстать скрипты под какой-нибудь допотопный IE - никому не нужно и вредно.
если ты пишешь скрипты которые сам и используешь - молодец, но многие скрипты пишутся с расчетом что они будут работать на любом сервере.
а верстать ты можешь хоть только под фаерфокс, пользователей ИЕ6 от этого меньше не станет)

Автор оригинала: dimagolov
это невозможно в принципе.
no comments... ты видимо сказал не подумав
 

Духовность™

Продвинутый новичок
многие скрипты пишутся с расчетом что они будут работать на любом сервере.
тогда пишите под PHP/FI 2.0

только потом не спрашивайте, почему технологии отстают от стандартов на 10 лет
 

dimagolov

Новичок
no comments... ты видимо сказал не подумав
ну да, типа того :)
но многие скрипты пишутся с расчетом что они будут работать на любом сервере.
вполне достаточно ограничиться инсталятором, который проверяет критические настройки сервера и сообщает о выявленных проблемах. это куда лучше, чем делать по факту то же самое при каждом вызове скрипта.

хотя некоторые вещи приходится делать универсальными, например учитывать разрядность int-а и не которые другие вещи.
 

Beavis

Banned
да тот же пример, вот нужно сделать скрипт партнерки какой-нибудь, который надо будет ставить на чужие сервера, причем неизвестно 4-ый или 5-ый там стоит пхп, какие там настройки, какие экстеншены подключены и т.д, но должно полюбому работать.

вот тогда невозможное становится возможным :)

Автор оригинала: triumvirat
тогда пишите под PHP/FI 2.0
только потом не спрашивайте, почему технологии отстают от стандартов на 10 лет
где ты видел хостинг с PHP/FI 2.0 ? щас практически везде PHP 4/5
 

Beavis

Banned
triumvirat
Если ты работаешь в компании, видеть или не видеть смысл должен не ты) А если пишешь скрипты только для себя, то можешь хоть их делать 5.3+

я же написал самый очевидный пример когда надо учитывать все возможные варианты..
представляешь, если ты скачиваешь себе скрипт какой нибудь партнерки, например sape, а он начинает ругаться "выключи это, включи то, обнови версию, подключи экстеншн, настрой нормально сервер и т.д.", да нахрен тогда такой скрипт нужен...
 

vovanium

Новичок
fixxxer
Только вот если ты делаешь скрипт для массового распространения, то что он не работает с register globals будет для большинства юзеров означать, не админ дурак, а программер дурак ;)
Так как юзеров не волнует, как гениально скрипт использует все возможности ООП или новые функции php 5.3, есть один фактор - работает или нет :)
Да регистерс глобалс уберут в php 6, а много вы серверов на шестерке знаете? Тем более что для того чтобы все нормально работало, достаточно затратить минимум усилий.
 

fixxxer

К.О.
Партнер клуба
>> если ты делаешь скрипт для массового распространения

не делаю. :)
 
Сверху