No, no se puede cambiar el constructor, tu clase debería más bien adaptarse, por ejemplo, tener un setter para el tipo y que lo puedas cambiar en cualquier momento, ej:
Código PHP:
Ver originalclass Demo
{
private $type;
public function __construct($type) {
$this->type = $type;
}
$this->type = $type;
return $this;
}
public function foo() {
echo "Type es: {$this->type}";
}
}
$d = new Demo('bar');
$d->foo();
$d->foo();
Saludos.