No, lo que pasa es que las variables que puedes pasar como parámetros por defecto, deben de ser del tipo nativo de PHP, es decir strings, ints, floats, etc.
No puedes definir un tipo complejo (en este caso una clase) como valor por defecto de una función (esto aplica uses OOP o no).
Por ejemplo usando variables simples y complejas:
Código PHP:
Ver originalclass foo {
private $_default = "default";
public function baz($bar, $foo=null, $baz='hello')
{
if ($foo == null) {
$foo = $this->_default;
}
//...
}
}
Es como si quisieras hacer esto:
Esperando que si no le pasas $link, se hiciera uno por defecto.
Saludos.