Отличие $_GET и $HTTP_GET_VARS?

seva2

Партнер PHPClub.ru
Отличие $_GET и $HTTP_GET_VARS?

Не пойму в чем отличие?

В 5 помойму $HTTP_GET_VARS не работает так?
 

svetasmirnova

маленький монстрик
Работает, если специально включить. deprecated он ещё с 4.что-то
 

white phoenix

Новичок
> Не пойму в чем отличие?
$_GET суперглобальная, а $HTTP_GET_VARS нет.
> В 5 помойму $HTTP_GET_VARS не работает так?
Работает, но не как суперглобальная.
 

chisto_tolyan

Враг народа
Также вы заметите, что старые предопределенные переменные ($HTTP_*_VARS) все еще существуют. Начиная с PHP 5.0.0, длинные предопределенные переменные массивов PHP могут быть отключены директивой register_long_arrays.
(c)manual
 

white phoenix

Новичок
svetasmirnova
> Работает, если специально включить. deprecated он ещё с 4.что-то
Специально включать не надо, register_long_arrays по-умолчанию включена.
 

seva2

Партнер PHPClub.ru
суперглобальная - расшифруйте плиз

Про 5 пхп понял
 

white phoenix

Новичок
seva2
> суперглобальная - расшифруйте плиз
This is a 'superglobal', or automatic global, variable. This simply means that it is available in all scopes throughout a script. You don't need to do a global $_SERVER; to access it within functions or methods, as you do with $HTTP_SERVER_VARS.
PHP:
function func()
{
 var_dump($_GET); //array(0) {}
 var_dump($HTTP_GET_VARS); // NULL
}
func();
 

white phoenix

Новичок
svetasmirnova
Естественно взял за основу php.ini-dist, а нарекоммендовать могут всё что угодно.
[m]ini.core#ini.register-long-arrays[/m]:
register_long_arrays boolean

Tells PHP whether or not to register the deprecated long $HTTP_*_VARS type predefined variables. When On (default), long predefined PHP variables like $HTTP_GET_VARS will be defined. If you're not using them, it's recommended to turn them off, for performance reasons. Instead, use the superglobal arrays, like $_GET.

This directive became available in PHP 5.0.0.
 

seva2

Партнер PHPClub.ru
Едиснтвенное я не понимаю, в чем разница тогда в их использовании?

На примере можно? Различия применения, где можно юзать а где нет?
 

white phoenix

Новичок
seva2
Я же тебе показал пример. Суперглобальные переменные доступны независимо от области видимости, и не надо (необязательно) делать global $_GET;. Прочти документацию на эту тему, там всё доступно описано.
 

Superman

Новичок
Есть такая CRM - SugarCRM, так вот на многих хостингах где стоит по умолчанию register_long_arrays=off апач выдает segfault(11), хотя само приложение ни в каком виде эти long arrays не юзает!

Но когда register_long_arrays=on то все работает!
Почему это происходит? :)
 
Сверху