CRUD com PHP
o que é CRUD?
CRUD é um acrônimo para os verbos em inglês: Create, Read, Update e Delete, que se referem a operações básicas de manipulação de dados no backend da aplicação. O "create" refere-se a inserção de dados no banco, o "read" à leitura/recuperação desses dados do banco, o "update" a atualização de dados registrados e o "delete" à deleção destes dados. Esses verbos CRUD estão diretamente ligados aos verbos HTTP (GET, POST, PUT e DELETE), que são usados para definir o tipo de ação que o cliente (navegador ou outra aplicação) deseja realizar no servidor. O client (navegador) envia uma requisição ao servidor, contendo algum verbo http no cabeçalho, o backend processa essa requisição (realiza alguma ação) e envia uma resposta HTTP ao cliente, indicando o resultado desta operação.
Na comunicação HTTP, cada requisição vem acompanhada de um status code que indica ao cliente como a operação ocorreu. Por exemplo, "201" (Created) é retornado quando um recurso é criado com sucesso, enquanto "200" (OK) confirma o sucesso da requisição. Já "204" (No Content) significa que o servidor processou a requisição e não há conteúdo a retornar. Esses códigos ajudam o client (navegador ou outra aplicação) a entender se a ação foi concluída corretamente ou se houve erro.
Nos capítulos anteriores vimos como inserir dados no banco com PDO, isso já configuraria o que chamamos de "Create" no CRUD, agora iremos abordar os demais verbos neste capítulo.
exemplo fictício
function create() {
echo "Inserindo dados no banco";
http_response_code(201); //status code 201: Created
}
function read() {
echo "Recuperando dados do banco";
http_response_code(200); //status code 200: OK
}
function update() {
echo "Atualizando dados no banco";
http_response_code(200); //status code 200: OK
}
function delete() {
echo "Deletando dados no banco";
http_response_code(204); //status code 204: No Content
}
//A variável global "$_SERVER" recupera o método da requisição (GET, POST, PUT, DELETE)
$method = $_SERVER['REQUEST_METHOD'];
//Roteamento básico para simular cada operação CRUD
switch ($method) {
case 'POST':
create();
break;
case 'GET':
read();
break;
case 'PUT':
update();
break;
case 'DELETE':
delete();
break;
}
🚨 No t07-mvc abordaremos na prática os conceitos de um sistema de roteamento em um projeto real