Как вынести языковые переменные

Статус
В этой теме нельзя размещать новые ответы.
Через define лучше делать, не из-за того что удобно иль нет, а из-за того что define храняться в другой части памяти, и обращение к ним идет на много быстре, вот такая заморочка от разработчиков php.
 
  • Нравится
Реакции: NewS
Остановился на варианте через define.
DIAgen, привел достаточно весомый аргумент, спасибо.
 
Через define лучше делать, не из-за того что удобно иль нет, а из-за того что define храняться в другой части памяти, и обращение к ним идет на много быстре, вот такая заморочка от разработчиков php.
А теперь аргументированное подтверждение этих слов, ибо попахивает бредом.
 
А теперь аргументированное подтверждение этих слов, ибо попахивает бредом.

Я читал про это где то еще год назад на хабре, там шла речь об оптимизации работы сервера и оптимизации php. Сейчас не смогу найти эту тему, времени нету заниматься археологией. Но там точно было про это написано, и не кто не опроверг про define.

После этой статьи, автору поступило 3 предложение от трех крупных контор, что бы он стал руководителем проектов.
 
То что быстрее - возможно (в некоторых языках так и есть, с PHP экспериментов не проводил).
А вот то, что "на много быстре" - бред полный.
 
То что быстрее - возможно (в некоторых языках так и есть, с PHP экспериментов не проводил).
А вот то, что "на много быстре" - бред полный.

Я тоже не проводил, если будет время можно будет заняться.

Я представляю это так, объявляем переменную и константу, когда код идет линейный то не будет разницы во время обращение к одним из них. Если взять функцию то в ней идет своя область видимости переменных, и что бы обратиться к переменой в не видимости функции ее или передать в параметрах функции или объявить ее глобальной, по этому израсходуется еще память, а констану можно вызвать и в классе и в функции. Я точно все это не проверял но по идей все так.

Если я где то ошибаюсь по подправь меня :)

P.S. В константах можно было бы еще объявлять массивы и объекты, то было бы прекрасно. Но этого не реально реализовать :)
 
Не совсем так.
Имя константы замещается на её значение и это даёт выигрыш в производительности, но это действительно для компилируемых ЯП, коим PHP не является.

В догонку рекомендую прочитать
тест на PHP 5.2.5 показал
lots of vars
straight, variables : 0.071969986
straight, array: 0.079164982
straight, constants: 0.083425999

function(lots of vars)
function call, variables: 0.073258162
function call, array: 0.078358173
function call, constants: 0.083008051

Так что теория от практики иногда отличается ;)
 
Не совсем так.
Имя константы замещается на её значение и это даёт выигрыш в производительности, но это действительно для компилируемых ЯП, коим PHP не является.

В догонку рекомендую прочитать*** скрытое содержание ***
тест на PHP 5.2.5 показал

Так что теория от практики иногда отличается ;)

Прочитал... полезная статейка, но мне привычнее пользоватсья констанами :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху