Функция с именованными параметрами

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

Бьюсь об заклад вы сталкивались с вызовами типа этого:

abc(1, 2, null, null, null, 6);

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

Было бы намного легче, если бы мы могли передавать в функцию параметры по названиям. Тогда таких ситуаций не возникало бы.

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

function abc($args)
{
	$defaults = [
		'one' => null,
		'two' => null,
		'three' => null,
		'four' => null,
		'five' => null,
		'six' => null,
	];

	$args = array_merge($defaults, $img);

	// ...
}

Теперь если нам нужно будет задать только первый, второй и шестой параметр, то можем сделать это так:

abc([“one” => 1, “two” => 2, “six” => 6]);

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.ruseller.com
Автор: Станислав Протасевич
Урок создан: 3 Августа 2016
Просмотров: 4229
Правила перепечатки


5 последних уроков рубрики "PHP"

^ Наверх ^