/** * Construção de Objetos para Elementos Internas * @param string $name Nome Completo da Classe * @return mixed Instância da Classe Solicitada * @throws Zend_Controller_Action_Exception Classe Inválida */ private function _build($name, array $params = array()) { if (!(is_string($name) && class_exists($name))) { throw new Zend_Controller_Action_Exception('Invalid Class Name'); } // Construção $reflect = new Zend_Reflection_Class($name); // Retorno da Instância return $reflect->newInstance($params); }
/** * Captura um Formulário de Determinado Tipo * @param string Nome do Formulário * @return Local_Form_FormAbstract Elemento Solicitado */ protected function _getFormReferencia($tipo) { // Filtro de Dados $filter = new Zend_Filter(); $filter->addFilter(new Zend_Filter_StringToLower())->addFilter(new Zend_Filter_Callback('ucfirst')); $tipo = $filter->filter($tipo); // Verificação if (!in_array($tipo, $this->_references)) { throw new Zend_Controller_Action_Exception('Invalid Referencia'); } $classname = 'Application_Form_Referencia_' . $tipo; $reflect = new Zend_Reflection_Class($classname); return $reflect->newInstance(array()); }
/** * Init Object * * @param string $class * @param array $params * @return object */ protected function _initObject($class, array $params = array()) { $ref = new Zend_Reflection_Class($class); if (!empty($params)) { return $ref->newInstanceArgs($params); } else { return $ref->newInstance(); } }