Como criar um Webservice em PHP

Hoje, vou ensinar como criar um WebService em PHP passo a passo. Eu decidi escrever este artigo rápido para iniciantes, principalmente se você não tem muita experiência com PHP e quer aprender um pouco mais sobre o desenvolvimento de serviços.

Webservices funciona como um contrato, onde é possível que novas aplicações possam interagir com aquelas que já existem ou sistemas desenvolvidos em plataformas diferentes possam se comunicar.

Para que serve Webservice?

Webservices servem basicamente para que sistemas possam conversar entre si, sem a necessidade que esses sistemas sejam construídos com a linguagem de desenvolvimento. Isso auxilia o processo de desenvolvimento, deixando a equipe responsável pelo desenvolvimento de cada projeto flexível para escolher qual a melhor linguagem para implementação.

Também é especialmente útil trabalhar com webservices quando nós temos um sistema já desenvolvido e precisamos apenas disponibilizar algumas funções para uso externo.

O que é SOAP?

182px-SOAP.svg

SOAP (Simple Object Access Protocol ou em português Protocolo Simples de Acesso a Objetos) é um protocolo baseado em XML e de fácil leitura fácil por humanos.

Este protocolo consiste em três partes: um cabeçalho, que define o que está na mensagem e como processá-la, um conjunto de regras codificadas para expressar instâncias do tipo de dados, e uma convenção para representar as chamadas de procedimentos e respostas.

Este protocolo baseado em XML consiste de três partes: um envelope, que define o que está na mensagem e como processá-la, um conjunto de regras codificadas para expressar instâncias do tipos de dados definidos na aplicação e uma convenção para representar chamadas de procedimentos e respostas.

É também o protocolo usado para acessar web services. É um protocolo simples baseado em XML, que é usado para leitura de aplicações dentro do protocolo HTTP.

Começando a programar um Webservice com PHP

Agora, vou criar um pequeno Webservice usando PHP. Agora, que já entendemos o básico, vamos começar a codificação. Siga os passos abaixo:

  • Baixe a biblioteca Nusoap, que será utilizada em nosso exemplo, para isso acesse:
    http://sourceforge.net/projects/nusoap/.
  • Você precisará ter um ambiente PHP instalado. Caso você não tenha, eu aconselho o WAMP, que é um ambiente fácil de instalar.
  • Crie um diretório para organizar seu projeto, por exemplo, CursoPHPWebservice
  • Cole a pasta lib no Nusoap dentro do diretório da sua aplicação
  • Crie dois arquivos “servidor.php” e “cliente.php” dentro da pasta CursoPHPWebservice

Dentro do Módulo “servidor.php”

Agora, vamos criar o módulo responsável por interpretar e responder os clientes do seu webservice.

function get_message($your_name)
{
if(!$your_name){
return new soap_fault('Client','','Put Your Name!');
}
$result = "Seja bem vindo ".$your_name .". Você criou seu primeiro webservice usando SOAP";
return $result;
}
// cria listener HTTP 
$server->service($HTTP_RAW_POST_DATA);
exit();
?>php

Com o módulo já codificado, agora temos as condições necessárias para ver o nosso webservice funcionando. Para isso, visite o endereço http://localhost/CursoPHPWebservice/server.php?wsdl.

Mas temos apenas o serviço, agora vou te mostrar como consumir o serviço.

Dentro do módulo “cliente.php”

Para consumir o webservices que nós acabamos de criar, precisamos de um cliente que irá consumir o serviço.

Este cliente pode ser desenvolvido em qualquer outra linguagem de programação. No entanto, abaixo, deixei apenas um exemplo da codificação em PHP.

//Aqui criamos um objeto para servir de referência ao nosso serviço
$client = new soapclient('http://localhost/WebServiceSOAP/server.php');
//Agora, usamos a instância e fazemos uma chamada ao método que criamos, passando o parâmetro correto
$response = $client->call('get_message',$param);
//Processa a requisição
if($client->fault)
{
echo "FAULT:

Code: (".$client->faultcode."

";
echo "String: ".$client->faultstring;
}
else
{
echo $response;
}
?>

 

Salve o código, e depois acesse http://localhost/CursoPHPWebservice/cliente.php

Feito isso, você receberá a mensagem no final, mostrando que seu serviço foi consumido. Espero que você tenha gostado deste artigo simples sobre consumo de Webservice.

Dica Extra

Se você quer aprender mais sobre PHP, aprender a criar sistemas complexos usando camadas de serviço, padrões de projeto (design patterns), orientação a objetos e aprender conceitos avançados de arquitetura de software, eu indico um curso que pode te ajudar a ir do zero ao profissional.

O Curso PHP do Zero ao Profissional é um curso completo de PHP, todo em vídeo aula e com o suporte do desenvolvedor sênior Bonieky Lacerda.

No botão abaixo, você pode experimentar gratuitamente 46 aulas de PHP. Basta clicar abaixo e receber todas as aulas gratuitamente.

Deixe um comentário