Можно ли указать значение аргумента по умолчанию, когда аргумент является закрытием PHP? Подобно:
public function getCollection($filter = function($e) { return $e; }) { // Stuff }
Я что-то пропустил (может быть, другой синтаксис?), Или это вообще невозможно? Конечно, я знаю, что могу сделать:
public function getCollection($filter = null) { $filter = is_callable($filter) ? $filter : function($e) { return $e; }; // Stuff }
( ПРИМЕЧАНИЕ: я не тестировал вышеуказанный код)
Аргументы по умолчанию могут быть только «скалярными аргументами», массивами или NULL.
«Скалярные значения» в PHP – это числа, строки и логические значения.
Если вы хотите, чтобы функция была аргументом по умолчанию, вам нужно будет использовать второй способ, 1-я – синтаксическая ошибка.