Вы можете использовать мою крошечную библиотеку ValueResolver в этом случае, например:
function func2(itemp $obj = null)
$obj = ValueResolver::resolve($obj, new temp('Default'));
// ....
}
и не забудьте использовать пространство имен use LapaLabs\ValueResolver\Resolver\ValueResolver;
Есть также возможность типизации, например, если значение вашей переменной должно быть integer
, поэтому используйте это:
$id = ValueResolver::toInteger('6 apples', 1); // returns 6
$id = ValueResolver::toInteger('There are no apples', 1); // returns 1 (used default value)
Проверьте документы для большего количества примеров