Sometimes, if I have a lot of parameters with default settings, I will use an array to contain the arguments and combine it with the default values.
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
It really only makes sense if you have a lot of arguments.