public function __construct($dao = null) { if (null === $dao) { $dao = new DefaultDao(); } $this->setDao($dao); $this->init(); // allow sub-classes to initialize }