public function controller() { try { return parent::controller(); } catch (ControllerException $cExc) { $flow = new \RedirectFlow(Registry::get('bootstrap')->config()->get('app.sisbio.redirectflow.target')); # o controle se pode ou nao enviar eh feito no # proprio componente RedirectFlow $flow->forward(); } }
/** * autoload de arquivo de constantes * este metodo, com base na requisicao (bootstrap->request()), carrega o arquivo de constante do modulo ativado * * @throws br\gov\sial\core\exception\SIALException * */ public function requestConstantAutoload() { # recupera o namespace da app # observer que para o correto funcionamento eh necesasrio que esta propriedade # seja configurada em application/config/config.ini $namespace = substr($this->_bootstrap->config('app.namespace'), 1); $message = 'É necessário informar o namespace da aplicação em config.ini::app.namespaces '; SIALException::throwsExceptionIfParamIsNull(!empty($namespace), $message); # constantes gerais de todos os sistemas que deve esta sob a pasta \br\gov\icmbio\[systemName]\application $loadConstants['sys'] = $namespace; # constantes geral do sistema carregado: \br\gov\icmbio\[systemName]\application\subsystem $loadConstants['app'] = $loadConstants['sys'] . self::NAMESPACE_SEPARATOR . $this->_bootstrap->getModule(); # constante do modulo do sistema selecionado \br\gov\icmbio\[systemName]\application\subsystem\module $loadConstants['mdl'] = $loadConstants['app'] . self::NAMESPACE_SEPARATOR . $this->_bootstrap->getFuncionality(); foreach ($loadConstants as $key => $value) { $assert = 'mdl' == $key; $this->loadModuleConstant($value, $assert); } }