Publicidade   
 você está aqui: phpbrasil.com    artigos    artigo  
 
:: novos artigos ::

:: recomendado ::

PHP para a World Wide Web

Compre esse livro no Submarino.com.br

:: publicidade ::


:: novos scripts ::

:: elenco phpbrasil ::

Diógenes Sobral
Pontos: 2167

Visite a página de perfil de Davis Zanetti CabralUsando JSON com o PHP
por Davis Zanetti Cabral
Lista de Categorias  |  Contribua um Novo Artigo  |  Entre em Contato Conosco

Iremos dar uma olhada sobre como usar JSON de uma forma pratica e rapida com PHP e o Services_JSON, um pacote da PEAR que esta pronto para ser usado em encode/decode de variaveis PHP.
Vote aqui!
Média de Votos Atual: 5.50
Total de Votos: 2
Nota:   

Comecei a querer saber mais sobre JSON, quando comecei a analisar a comunicação que o Meebo.com fazia enquanto eu conversava com outras pessoas no MSN e GTalk usando ele. Vi que havia um certo padrão na comunicação, algo como o projeto JSON-RPC define:


--> {“method”: “postMessage”, “params”: [“Hello all!”], “id”: 99}
<-- {“result”: 1, “error”: null, “id”: 99}
<–- {“method”: “handleMessage”, “params”: [“user1&#8243;, “we were just talking”], “id”: null}
<–- {“method”: “handleMessage”, “params”: [“user3&#8243;, “sorry, gotta go now, ttyl”], “id”: null}
–-> {“method”: “postMessage”, “params”: [“I have a question:”], “id”: 101}
<-— {“method”: “userLeft”, “params”: [“user3&#8243;], “id”: null}
<–- {“result”: 1, “error”: null, “id”: 101}


Note a facilidade de comunicação, criada pelo padrão, entre client e server. JSON, notação do objeto JavaScript, pode ser usado para o intercâmbio de dados leves entre o javascript e outras linguagens.

Desde que o JSON possa ser diretamente executado em JavaScript, é um formato ideal para usar com interfaces Web 2.0; é uma alternativa mais simples do que usar XML para relações com AJAX. Fácil para humanos entenderem e ótimo para máquinas interpretarem.

Abaixo um exemplo de uso do Servico_JSON no php:


<?php
// O cerebro
include(‘JSON.php’);

// Um classe qualquer, apenas para entender-mos o funcionamento
class Chamado
{
    
// Propriedades
    
public $id;
    
public $atendente_id;
    
public $tramites;
    
public $assunto_principal;

    
// Construtor
    
public function __construct()
    {
        
$this->id 9999;
        
$this->atendente_id 9999;
        
$this->tramites = array(1510);
        
$this->assunto_principal ‘Oi eu sou um chamado teste’;
    }

    
// Metodo qualquer
    
public function ver()
    {
        echo 
[’ $this->id ]’ $this->atendente_id ‘ ‘ $this->assunto_principal;
    }
}
 
$chamado = new Chamado();
$json = new Services_JSON();
// Vai mostrar o codigo em JSON
echo $chamado $json->encode($chamado).“n“;
// Vai recuperar os dados
$chamado2 $json->decode($chamado);
// Note que o objeto e o padrao
print_r($chamado2);
// Tentativa de se chamar um metodo recuperado
$chamado2->ver();
?>


O resultado na proxima pagina.




<< Anterior 1 2 3 Próxima >>

 
Imprimir  |  Enviar para um Amigo


Comentários de Usuários

Testei
publicado por Fernando dos Santos Amador - 2007-06-12 22:58:26

funcionou...

Por isso que não uso Ajax
publicado por Marcio Muzi - 2007-10-16 13:35:24

Quando alguém vê uma aplicação minha fazendo um HttpRequest, já vão elogiando o "meu ajax". Aí que explico que uso JSON e não XML, por isso não é Ajax.

Lembrando que a partir do PHP 5.2 o JSON já vem nativo (http://br.php.net/manual/pt_BR/ref.json.php).

Apenas para completar seu exemplo, vou postar aqui como tratar o objeto no Javascript, já que vc falou do eval.

var JSONObject = eval('(' + respostaJSON + ')');

alert( JSONObject.assunto_principal ); // Saída: Oi eu sou um chamado teste

Publique os seus Comentários

Nome:
Email:
Título:
Comentário:

NOTA: Cadastre-se no site para poder publicar comentários.

 
webmaster: João Prado Maia   © 2000 - 2005 phpbrasil.com
Gerado em 0.508 segundos