Trabalhando com APIs em PHP

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.

Tutorial de PHP Básico
Tutorial de PHP Básico

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:

YouTube

Facebook

Instagram

LinkedIn

TikTok

Participe do nosso Discord para tirar dúvidas e ajudar outras pessoas!

Discord webmundi.com

Posts Similares