[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Длинна имен переменных, стоит ли заморачиваться?
GET
Привет.

Знаю, что избитая тема.
И даже изучил тесты по теме: https://gist.github.com/resurtm/4583515

Вопрос в следующем. На страницу приходит GET['a'] (числовой параметр от 2 до 8 символов) на основе этой переменной загружается своя форма. После отправки формы, в обработчике, на основе POST из формы создаются SESSION и перенаправляются на ту же первоночальную страницу с уже заполненной формой.

Имена SESSION также привязаны к GET['a'], делается это для того, чтоб если юзер в этот момент изменил GET['a'], то форма бы оказалось пустой, т.к. для той формы нужны были свои SESSION.

Короче:

1. Помня о том, что особо длинные имена переменных делает не следует.
2. Помня о том, имена SESSION должны быть уникальными, решил создать обобщенную переменную $var от которой и создавать переменные (будет присоединятся от 2-х до 5-и символов).

Сначала я ее делал так:

1. $var=mb_substr(md5(GET['a']),0,2);//
В итоге достаточно уникальная и всего два символа, но решил, что слишком медленно из-за md5.

Потом так:
2.

class get
{
//.....
public static function v($a)
{
if(!isset($_SESSION['VAR'][$a]))$_SESSION['VAR'][$a]=rand(0,99);
return $_SESSION['VAR'][$a];
}
}

$var=get::v(GET['a']);

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

И вот думаю, чего я вообще заморачиваюсь, может так все оставить:
$var=GET['a'];

Ну будет максимум переменная длинной 8+5=13 символов, не так уж и опасно с современной памятью...к тому же тесты показывают совсем незначительный расход.

Что думаете?
Спасибо.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
twin
Цитата
1. $var=mb_substr(md5(GET['a']),0,2);//
В итоге достаточно уникальная и всего два символа, но решил, что слишком медленно из-за md5.
Совершенно не уникально. Нужно с этого начать. И вообще какой то странный алгоритм, если не сказать больше.
Что касается длины переменных, на сегодняшний день стоит заморачиваться по этому поводу только с точки зрения читабельности.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
GET
Цитата
Совершенно не уникально. Нужно с этого начать. И вообще какой то странный алгоритм, если не сказать больше.


smile.gif

Нет ну вероятность совпадения при 2-х символах (0,2) будет 1 из 16x16...т.е. 256. Немало, поэтому чтоб угадать у каких GET['a'] они одинаковые нужно будет изрядно помучится поэтому я посчитал что почти уникальность - 0,4%.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
twin
Нельзя быть чуть-чуть беременным. Или уникально или нет. Третьего не дано.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
GET
Цитата
Нельзя быть чуть-чуть беременным.


Да, согласен...smile.gif

Еще вдруг вспомнилось:
user posted image

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Быстрый ответ:

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