Mostarda 0 Denunciar post Postado Janeiro 5, 2012 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
Matias Rezende 50 Denunciar post Postado Janeiro 5, 2012 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
Bruno Augusto 417 Denunciar post Postado Janeiro 5, 2012 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
Mostarda 0 Denunciar post Postado Janeiro 5, 2012 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