Pergunta

Estou desenvolvendo minha própria biblioteca PHP e eu gostaria de chamar os serviços Web RESTful a partir de minha API. isso pode ser feito em PHP e em caso afirmativo, quais são os conceitos básicos ao fazê-lo?

Foi útil?

Solução

Uma vez que REST é a aplicação dos mesmos métodos do protocolo HTTP para o projeto de arquiteturas cliente-servidor e PHP já é tão bom para o protocolo HTTP lidar com solicitações, como GET e POST. PHP é especialmente adequado para fazer desenvolver serviços REST fácil.

Lembre-se de resto é a aplicação dos mesmos padrões de HTTP que já existe.

Então, se você já tiver um aplicativo que faz algo como:

  1. Form HTML
  2. PHP Processo
  3. Saída HTML em uma tabela

Assim, para torná-lo resto você precisaria:

  1. Aceite parâmetros da web. Isso é fácil, pois você receberá os parâmetros quer como get ou post ... por isso é basicamente o mesmo.
  2. processo de PHP
  3. Saída em qualquer JSON ou XML . E é isso!

    É muito fácil.

Agora, a parte difícil é fazer sua API (as funções e URLs) que você irá gerar para ser programador amigável.

Nesse caso, eu sugiro que você olhar para o flickr API como um exemplo é muito desenvolvedor amigável fácil de adivinhar e tem uma boa documentação.

Para mais informações sobre APIs olhar para esta apresentação: Como Projetar um bom API & Porque -lo Matters (Joshua Bloch)

Finalmente, uma API RESTful devem implementar também o PUT e métodos excluem do protocolo http quando faz sentido

Por exemplo, se você tivesse uma ação de exclusão em sua api, disse serviço devem receber o método de exclusão do protocolo HTTP. Em vez da coisa mais comum de enviar um parâmetro de ação como parte de uma solicitação post.

Editar: Substituído "PHP é resto por padrão", com "Desde REST é a aplicação dos mesmos métodos do protocolo HTTP para o projeto de arquiteturas cliente-servidor e PHP já é tão bom solicitações de protocolo HTTP punho, como GET e POST. PHP é especialmente adequado para fazer desenvolver serviços REST fácil ".

E também acrescentou a nota final que você deve implementar o PUT apropriado ou métodos excluem quando essa ação faz sentido para o seu api.

Outras dicas

Você pode querer olhar para este artigo e o follow-up: http: //www.gen-x -design.com/archives/create-a-rest-api-with-php/

A sua pergunta é muito aberto, de modo que este tutorial pode ser o melhor ponto de partida.

O link acima não está mais funcionando tão confira este tutorial:

http: // net. tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

Eu desenvolvi uma classe que é o PHP nativa classe SoapServer de descanso equivalente.

Você só incluir o arquivo RestServer.php e, em seguida, usá-lo como segue.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

Em seguida, você pode fazer chamadas como este:

http://myserver.com/path/to/api?method=sayHello&name=World

(Note que não importa que ordem os parâmetros são fornecidos na cadeia de consulta. Além disso, os principais param nomes, bem como o nome do método são insensíveis ao caso.)

não pode ferir a voltar para a fonte original o termo RESTO , e certifique-se que você entenda o que isso significa.

Se você está pensando sobre o lado do cliente de coisas, gostaria de sugerir verificar PEST de Matt Sukowski.

Você vai encontrar o repositório no GitHub: https://github.com/educoder/pest

Também confira este tópico: PHP RESTO clientes

Atualização 2013/12/13:
Este é muito mais um projeto de código aberto vivo, Matt Sukowsky entregou-à novos cuidadores neste verão, porque ele não sente que ele poderia poupar tempo suficiente, e tem havido muitos e muitos commits desde então. Então Pest é melhor do que nunca para fazer Descanse em PHP:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top