예제 #1
0
 /**
  * @param string $LOCALE
  * @return stdClass
  */
 public function toStdClass($LOCALE = NULL, $force = FALSE)
 {
     if (!$force && $this->__cacheObjReturn) {
         return $this->__cacheObjReturn;
     }
     $obj = new stdClass();
     $arrayMetodos = get_class_methods($this);
     //filtra os metodos do tipo get
     // print_r($this->arrayMethodExeptionGET);
     // exit();
     foreach ($arrayMetodos as $metodo) {
         if (!in_array($metodo, $this->arrayMethodExeptionGET) && @ereg("^get", $metodo)) {
             //da o nome do atributo para o mesmo nome do metodo publico get, só que sem o get
             $atributo = @ereg_replace("^get_", "", DataHandler::ecmaToUnderline($metodo));
             //pegando o valor
             if ($LOCALE) {
                 $tempValor = $this->{$metodo}($LOCALE);
             } else {
                 $tempValor = $this->{$metodo}();
             }
             //adiciona o atributo no objeto de retorno
             $obj->{$atributo} = $tempValor;
         }
     }
     $this->__cacheObjReturn = $obj;
     return $obj;
 }
예제 #2
0
 /**
  * @return stdClass com propriedades necessárias para o padrão determinado de form view
  */
 public function getFieldData()
 {
     $fieldData = new stdClass();
     $arrayMetodos = get_class_methods($this);
     //varre todos os metodos desssa classe
     foreach ($arrayMetodos as $metodo) {
         //se não estiver na ignore liste E começar com "set"
         if (!in_array($metodo, $this->ignoreList) && preg_match("/^set.+/", $metodo)) {
             //transforma o nome da array em nome de propriedade, ex: setExemploFelix vira exemplo_feliz
             $propertie = preg_replace("/^set_(.*)/", "\$1", DataHandler::ecmaToUnderline($metodo));
             //se a propriedade for nula
             if ($this->{$propertie} == NULL) {
                 //da o set pelado, chamando o metodo
                 $this->{$metodo}();
             }
             //mesmo SEM PASSAR PELO SET, vai pegar a propriedade
             //guardando numa variavel o objeto da propriedade
             $tempValor = (object) $this->{$propertie};
             //setando como propriedade do fieldData
             $fieldData->{$propertie} = $tempValor;
         }
     }
     return $fieldData;
 }
예제 #3
0
 /**
  * @param string $LOCALE
  * @return stdClass
  */
 public function toStdClass($LOCALE = NULL)
 {
     $obj = new stdClass();
     $arrayMetodos = get_class_methods($this);
     //Debug::print_r($arrayMetodos);
     //filtra os metodos do tipo get
     foreach ($arrayMetodos as $metodo) {
         if (!in_array($metodo, $this->arrayMethodExeptionGET) && @ereg("^get", $metodo)) {
             $atributo = @ereg_replace("^get_", "", DataHandler::ecmaToUnderline($metodo));
             //pegando o valor
             //echo Debug::li("\$tempValor = \$this->".$metodo."(\"".$LOCALE."\");");
             $tempValor = $this->{$metodo}($LOCALE);
             //eval("\$tempValor = \$this->".$metodo."(\"".$LOCALE."\");");
             //eval("\$obj->".$atributo." = \"".$tempValor."\";");
             //echo Debug::li("......");
             //print_r($tempValor);
             $obj->{$atributo} = $tempValor;
             //Debug::li("metodo: $metodo retornando $tempValor ");
         }
     }
     return $obj;
 }