예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * 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());
 }
예제 #3
0
 /**
  * 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();
     }
 }