Introdução
APIs (Application Programming Interfaces) são fundamentais para a integração de sistemas, permitindo a comunicação entre diferentes aplicações. Em PHP, podemos tanto consumir APIs externas quanto criar nossas próprias APIs. Neste artigo, vamos explorar como fazer requisições HTTP a APIs externas usando file_get_contents e cURL, e também como criar uma API simples com PHP. Usaremos exemplos práticos para facilitar a compreensão.
Consumindo APIs Externas
Para consumir APIs externas, podemos usar funções nativas do PHP como file_get_contents
ou a biblioteca cURL
.
Usando file_get_contents
A função file_get_contents
é uma maneira simples de fazer requisições HTTP GET.
Exemplo com file_get_contents
<?php
$url = "<https://api.exemplo.com/dados>";
$response = file_get_contents($url);
$data = json_decode($response, true);
if ($data === null) {
die('Erro ao decodificar JSON');
}
print_r($data);
?>
Neste exemplo, fazemos uma requisição GET para a URL especificada, decodificamos a resposta JSON e a exibimos.
Usando cURL
A biblioteca cURL
oferece mais controle sobre as requisições HTTP, permitindo métodos como POST, PUT, DELETE, além de GET.
Exemplo com cURL
<?php
$url = "<https://api.exemplo.com/dados>";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response === false) {
die('Erro ao fazer requisição: ' . curl_error($ch));
}
$data = json_decode($response, true);
curl_close($ch);
print_r($data);
?>
Aqui, inicializamos uma sessão cURL, configuramos a opção CURLOPT_RETURNTRANSFER
para retornar o resultado como string, executamos a requisição e decodificamos a resposta JSON.
Criando uma API Simples com PHP
Criar uma API em PHP envolve responder a requisições HTTP com dados no formato JSON, XML, ou outro. Vamos criar uma API simples que responde com dados JSON.
Estrutura Básica da API
Crie um arquivo chamado api.php
com o seguinte código:
<?php
header('Content-Type: application/json');
$request_method = $_SERVER['REQUEST_METHOD'];
switch ($request_method) {
case 'GET':
get_data();
break;
case 'POST':
add_data();
break;
default:
header('HTTP/1.0 405 Method Not Allowed');
break;
}
function get_data() {
$data = [
["id" => 1, "name" => "Item 1"],
["id" => 2, "name" => "Item 2"]
];
echo json_encode($data);
}
function add_data() {
$input = json_decode(file_get_contents('php://input'), true);
if (isset($input['name'])) {
$response = ["message" => "Data added", "data" => $input];
echo json_encode($response);
} else {
header('HTTP/1.0 400 Bad Request');
echo json_encode(["message" => "Invalid data"]);
}
}
?>
Neste exemplo:
- Configuramos o cabeçalho da resposta para JSON.
- Verificamos o método da requisição (GET ou POST).
- Respondemos com dados estáticos no método GET.
- Aceitamos e respondemos com dados enviados no método POST.
Testando a API
Para testar a API, você pode usar ferramentas como Postman ou cURL no terminal.
Testando com cURL
GET Request
curl -X GET <http://localhost/api.php>
POST Request
curl -X POST -d '{"name": "New Item"}' -H "Content-Type: application/json" <http://localhost/api.php>
Conclusão
Trabalhar com APIs em PHP é essencial para integrar e desenvolver aplicações modernas. Neste artigo, vimos como consumir APIs externas usando file_get_contents
e cURL
, e como criar uma API simples com PHP. Com esses conhecimentos, você pode começar a construir e consumir APIs, expandindo as funcionalidades e a interconectividade das suas aplicações.
Gostou do conteúdo?
Apoie-nos: Siga, Curta, Comente e Compartilhe!
Conecte-se com a WebMundi:
Participe do nosso Discord para tirar dúvidas e ajudar outras pessoas!