Ir para conteúdo

POWERED BY:

Arquivado

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

Mostarda

[Resolvido] Sintaxe php retorno de um metodo em array

Recommended Posts

tenho essa duvida a algum tempo e nunca encontrei como resolver essa sintaxe

 

por exemplo tenho uma classe com um metodo retornando um objeto e outro metodo retornando em array

<?php 
class teste{

	public function returnArray(){
		$var = array('nome' => 'mostarda', 'idade' => '20');
		return $var;			
	}

	public function returnObj(){
		$var = array('nome' => 'mostarda', 'idade' => '20');
		$obj = (object) $var;
		return $obj;
	}

}

$obj = new teste();
       // Uso essa sintaxe para imprimir o valor nome
echo $obj->returnObj()->nome; 	

       // qual sintaxe uso pra pegar o nome
echo $obj->returnArray(); 	

?>

 

eu sei q da pra colocar o retorno do obj em uma variavel e depois da um echo nela $varialvel['nome']

mas gostaria de saber se eh possivel fazer isso sem precisar jogar em variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só colocando eu uma variável mesmo. Parece que na versão 5.4 vai ser possível utilizar a sintaxe abaixo:

 

echo $obj->returnArray()['nome'];

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei pra quê isso. E olha que daqui do fórum, dos que programam Orientado a Objetos, sou o mais "malhado" pelos minhas esquisitices :lol:

 

Mas, em todo caso, você poder um único método getter, retornando o array e, quando precisar usar como objeto, faz o cast:

 

class Test {

   public function getData() {

       return array( 'nome' => 'mostarda', 'idade' => '20' );
   }
}

$test = new Test;

var_dump( $test -> getData() ); // Array( 'nome' => 'Mostarda', 'idade' => 20 )

var_dump( (object) $test -> getData() );

Resulta em:

 

object(stdClass)#2 (2) {
 ["nome"]=>
 string(8) "mostarda"
 ["idade"]=>
 string(2) "20"
}

 

Mas se você quer trabalhar com arrays que também podem ser objetos, acho que ArrayObject faria menos sujeira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to trabalhando com framework, e em alguns casos o framework me retorna array, e sempre tive essa duvida mais como agora vejo q o jeito eh meio q faze gambi pra resolve vo continua escrevendo mais uma linha pra resolve isso

vlw a todos q responderam e fico feliz em saber q o php 5.4 ja esta pensando em uma solução interessante

obrigado

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.