@derasoft

Как «пропустить» аргументы функции?

Я хочу сделать так, чтобы установленный cookies был виден для всех доменов сайта, и я точно знаю, что функция
setcookie("user", $user["login"], 0 , "/");
точно работает, однако я не знаю, как переписать её таким образом, чтобы не передавать аргумент $expires.
  • Вопрос задан
  • 722 просмотра
Решения вопроса 1
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
setcookie

PHP >= 8
Именованные аргументы
setcookie(
	name: 'user',
	value: $user["login"],
	path: '/'
);


PHP >= 7.3.0
Альтернативная сигнатура
setcookie('user', $user["login"], ['path' => '/']);


Можно использовать функцию обёртку, в которой задать свой порядок аргументов и их значения по умолчанию:
function cust_setcookie(
	$name,
	$value = "",
	$path = "/", 
	$expires = 0,
	$domain = "",
	$secure = false,
	$httponly = false
) {
	setcookie($name, $value, $expires, $path, $domain, $secure, $httponly);
}

cust_setcookie('user', $user["login"]);


Либо в php.ini задать необходимые значения по умолчанию для path и других аргументов, тогда просто используйте:
setcookie('user', $user["login"]);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы