/** * constutor * * @param \br\gov\sial\core\util\ConfigAbstract $config * */ public function __construct(ConfigAbstract $config) { try { # verifica se todas as propriedades basicas foram informados self::_valid($config); # o hash de acesso ao objeto eh baseado nas configurações de do objeto Mail # assim, havera sem um e somnete objeto de envio nao importando quantas vezes # esta classe seja instanciada $this->_hashKey = md5($config->toJSon()); if (!Registry::isRegistered($this->_hashKey)) { Registry::set($this->_hashKey, new PHPMailer()); } # aplica as configuracoes informadas ao objeto mail self::_setup($config); } catch (IllegalArgumentException $iExc) { throw $iExc; } }
/** * Referência do bootstrap. * * @return br\gov\sial\core\Bootstrap * @throws ControllerException * @example ControllerAbstract::bootstrap * @code * <?php * var_dump($this->bootstrap()); * ?> * @encode * */ public function bootstrap() { if (NULL === $this->_bootstrap) { if (FALSE === Registry::isRegistered('bootstrap') || !Registry::get('bootstrap') instanceof BootstrapAbstract) { throw new ControllerException(self::T_CONTROLLER_MISSING_BOOTSTRAP); } $this->_bootstrap = Registry::get('bootstrap'); } return $this->_bootstrap; }