При сравнении следующих сценариев, какой из них будет самым быстрым?Пример кода ниже.
По сути, я пытаюсь выяснить, что является лучшей альтернативой использованию глобальных переменных.Глобальные переменные, которые я храню, будут одинаковыми для всех пользователей ... это значения уровня приложения, которые одинаковы для всех пользователей, например, application_name или application_home_page_url ...
У меня будет тоннафункции, использующие эти значения уровня приложения, и я не хочу передавать их по аргументу, хотя я думаю, что это будет самый быстрый способ .. Мои параметры, кажется, работают либо с поиском БД, либо с использованием переменных сеанса или глобальных переменных ..
Конечно, вы можете поднять его на следующий уровень, бросив сотрудника.массивы в уравнение, чтобы сделать его быстрее / медленнее.
Другой фактор, который мы должны учитывать, - это то, что мы говорим о большом количестве пользователей здесь.
Итак, как лучше всего работать с этими переменными уровня приложения в отдельных функциях?
//for global based approach
$my_global_var1 = "abc";
$my_global_var2 = "xyz";
//for global + array based approach
$my_globals['var1'] = "abc";
$my_globals['var2'] = "xyz";
//for session based approach
$_SESSION['my_global_var1'] = "abc"
$_SESSION['my_global_var2'] = "xyz";
//for session + array based approach
$_SESSION['my_globals']['var1'] = "abc";
$_SESSION['my_globals']['var2'] = "xyz";
//for db based approach
$varname = 'var1';
//or some other way, you may think of
//??
function func1()
{
global $my_global_var1;
global $my_global_var2;
//....
my_var1 = $my_global_var1;
}
function func2()
{
$my_var1 = $my_globals['var1'];
}
function func3()
{
$my_var1 = $_SESSION['my_global_var1'];
}
function func4()
{
$my_var1 = $_SESSION['my_globals']['var1'];
}
$my_var1 = func5($varname)
function func5($varname)
{
return lookup($varname);
}