Да, Вы можете указать аргумент по умолчанию . Однако аргумент по умолчанию «должен быть константным выражением, а не (например) переменной, членом класса или вызовом функции».
Вы можете подделать это поведение, используя некоторое постоянное значение по умолчанию, а затем заменить его на результаты вызова функции при вызове функции.
Мы будем использовать NULL
, так как это довольно типичное значение "без значения":
function readUser($aUser = NULL) {
if (is_null($aUser))
$aUser = loadDefaultUser();
// ... your code here
}