Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

elias_farah

[Resolvido] __FUNCTION__ em objetos

Recommended Posts

Olá pessoal, bom dia!

 

Eu tenho essa função que funciona muito bem quando não está dentro de uma classe.

 

function objectToArray($d)
{
   if (is_object($d)) {
       // Gets the properties of the given object
       // with get_object_vars function
       $d = get_object_vars($d);
   }
   if (is_array($d)) {
       /*
       * Return array converted to object
       * Using __FUNCTION__ (Magic constant)
       * for recursive call
       */
       return array_map(__FUNCTION__, $d);
       // return array_map(objectToArray, $d);
   } else {
       // Return something diferent that array
       return $d;
   }
}

 

Quando coloco dentro de uma classe

 

class Functions{

   function objectToArray($d)
   {
       if (is_object($d)) {
          // Gets the properties of the given object
          // with get_object_vars function
          $d = get_object_vars($d);
       }
       if (is_array($d)) {
       /*
       * Return array converted to object
       * Using __FUNCTION__ (Magic constant)
       * for recursive call
       */
           return array_map(__FUNCTION__, $d);
           // return array_map(objectToArray, $d);
       } else {
       // Return something diferent that array
          return $d;
       }
   }
}

 

Simplesmente ele dá erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você procura é outra constante mágica: __METHOD__

 

/**
* Converts given Object to array, recursively
* 
* @param    object    $param
* 
* @return    array
*/
public static function unmap( $param ) {

   if( is_object( $param ) ) {
       $param = get_object_vars( $param );
   }

   if( is_array( $param ) ) {
       return array_map( __METHOD__, $param );
   }

   return $param;
}

Essa foi grátis :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu cara, agora funcionou!!

 

 

=) :thumbsup:

 

O que você procura é outra constante mágica: __METHOD__

 

/**
* Converts given Object to array, recursively
* 
* @param    object    $param
* 
* @return    array
*/
public static function unmap( $param ) {

   if( is_object( $param ) ) {
       $param = get_object_vars( $param );
   }

   if( is_array( $param ) ) {
       return array_map( __METHOD__, $param );
   }

   return $param;
}

Essa foi grátis :grin:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você procura é outra constante mágica: __METHOD__

 

/**
* Converts given Object to array, recursively
* 
* @param    object    $param
* 
* @return    array
*/
public static function unmap( $param ) {

   if( is_object( $param ) ) {
       $param = get_object_vars( $param );
   }

   if( is_array( $param ) ) {
       return array_map( __METHOD__, $param );
   }

   return $param;
}

Essa foi grátis :grin:

 

 

exatamente, procure ler mais o manual do php, ele existe pra t ajudar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.