/** * @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; }
/** * @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; }
/** * @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; }