Como retornar a data de um serviço web
Uma maneira simples de obter seus pés molhados com serviços web é retornar uma data no formato JSON. Veja como você pode fazer isso:
Conteúdo
Abra o seu editor de texto ou IDE de programação e criar um novo arquivo vazio.
Coloque o seguinte código no arquivo:
lt;? php $ header = "Content-Type: application / json"-header ($ header) - $ date = Data ("H d, Y") -print json_encode ($ data) - gt;
Salve o arquivo como date.php na raiz do seu documento.
Visualizar a página no navegador da Web em http: //localhost/date.php.
O formato para este serviço web apenas retorna a data como uma cadeia entre aspas. É mais comum para retornar uma matriz de dados, com cada elemento rotulado. Os rótulos de torná-lo mais fácil de encontrar e usar elementos individuais. Por exemplo, considere o seguinte lista:
Video: voltar a barra de pesquisa do google na tela principal do celular galaxy
lt;? php $ header = "Content-Type: application / json"-header ($ header) - $ date = Data ("H d, Y") - $ = returnData matriz ("friendlyDate" = Gt; $ Date) json_encode -print ($ returnData) - gt;
Quando visto em um navegador, os dados codificados em JSON parece com isso:
Como você pode ver, há agora mais para os dados retornados. Isso significa que você pode retornar todos os tipos de dados com o mesmo serviço web e os consumidores do serviço web pode escolher quais peças que vou usar. Por exemplo, a próxima listagem mostra um serviço web data melhorada, que retorna a data amigável, o tempo de Unix, o mês, o dia da semana e do ano em vários formatos.
Este exemplo usa o PHP cabeçalho() função para enviar uma Tipo de conteúdo header para o navegador. o Tipo de conteúdo cabeçalho diz ao navegador que tipo de informação é de se esperar como saída. É importante para os navegadores para que possam analisar as informações corretamente.
lt;? php $ header = "Content-Type: application / json"-header ($ header) - $ friendlyDate = data ("H d, Y") - $ unixtime = time () - $ mês = data ("M") - $ dayOfWeek = data ("eu") - $ year = data ("Y") - $ = returnData matriz ("friendlyDate" = Gt; $ FriendlyDate,"unixtime" = Gt; $ Unixtime,"monthNum" = Gt; $ Mês,"dia da semana" = Gt; $ DayOfWeek,"yearNum" = Gt; $ Year) json_encode -print ($ returnData) - gt;
Quando visto em um navegador, o código retorna dados como o mostrado.
Com essa saída arraylike, é fácil acessar os elementos individuais. Digamos que você tenha um aplicativo que precisa de saber o dia da semana. Você pode chamar o serviço web e usar o built-in json_decode () PHP função para obter acesso ao dia da semana elemento. A listagem a seguir mostra o código para consumir um serviço web.
lt;? php $ curlHandle = curl_init ("http: //localhost/date.php") -curl_setopt ($ curlHandle, CURLOPT_HEADER, 0) -curl_setopt ($ curlHandle, CURLOPT_RETURNTRANSFER, 1) - $ = curl_exec saída ($ curlHandle) - $ = descodificado json_decode ($ saída, TRUE) -print $ descodificado [ `diaDaSemana`] - gt;
Quando esta página é exibida em um navegador, a saída é simplesmente o dia da semana. O código usa a biblioteca cURL, que se conecta com o PHP através de um conjunto de funções poderosas para interagir com páginas da web e sites, incluindo formas apresentação. Neste caso, o código inicializa o objecto cURL (através curl_init ()), Define algumas opções, em seguida, carrega a URL.
A saída é salvo em uma variável chamada $ output, que é então descodificada usando o json_decode () função. o booleana VERDADE que você vê dentro do json_decode () função define a saída como uma matriz, que é o que você quer. Finalmente, o dia da semana é recuperado a partir da saída decodificado e exibido na tela.
Esse padrão é bastante típico de consumo de serviços web. Na verdade, é comum para configurar uma função compartilhada ou uma classe para cURL para que você possa chamar serviços web cURL sem ter que incluir este mesmo código em todos os seus arquivos.
Video: Build testable controllers with AngularJS and Firebase on the Web - Firecasts
Então, qual é a vantagem de chamar um serviço data web em vez de simplesmente chamar a encontro() função? Depende. Por um lado, você poderia argumentar que a criação de uma função de data comum que retorna todos os tipos de formatos é mais fácil do que tentar lembrar a formatação exata para o encontro() função em todos os lugares que você precisar.
Por outro lado, você poderia dizer que chamar um serviço web pode retardar o tempo de resposta global. Ambos são verdadeiras e válidas.
o encontro() função é usada neste capítulo, principalmente porque fornece uma maneira fácil de demonstrar retornar dados de um serviço web, sem os seus autores de livros humildes ter que explicar muito sobre o que a encontro() função está fazendo.