Quickstarters
Feature Overview
Como construir um backend para PHP?
40 min
introdução neste tutorial, você aprenderá como construir um backend para php usando o back4app para alimentar uma aplicação web dinâmica no lado do servidor focaremos na integração de serviços chave do back4app, como gerenciamento de banco de dados, funções de cloud code, apis rest e graphql, autenticação de usuários e consultas em tempo real seguindo estas etapas, você criará um backend seguro, escalável e robusto que pode usar em seus projetos php também veremos por que o back4app acelera o desenvolvimento de backend em comparação a construir tudo do zero, para que você possa economizar tempo e esforço você descobrirá como implementar segurança avançada, agendar tarefas com cloud jobs e conectar integrações externas com webhooks, tudo isso enquanto confia na infraestrutura do back4app ao final, você estará pronto para expandir este backend básico do lado do servidor em uma configuração completa de produção, ou integrar apis de terceiros e lógica personalizada para uso no mundo real pré requisitos para completar este tutorial, você precisará uma conta back4app e um novo projeto back4app introdução ao back4app https //www back4app com/docs/get started/new parse app se você não tiver uma conta, crie uma gratuitamente e siga o guia para preparar seu novo projeto ambiente básico de desenvolvimento php você pode configurá lo localmente com php instalado ou usar um ambiente de hospedagem que suporte php documentação oficial do php https //www php net/docs php suporte a curl ou uma maneira de enviar requisições http a maioria das instalações do php inclui curl por padrão instalando curl (documentos oficiais) https //curl se/docs/install html familiaridade com os fundamentos de aplicações web entender http, scripting do lado do servidor e conceitos básicos de banco de dados será útil certifique se de ter esses pré requisitos em ordem antes de mergulhar nos passos abaixo ter seu projeto back4app configurado e um ambiente php pronto facilitará o acompanhamento passo 1 – configurando o projeto back4app criar um novo projeto o primeiro passo para construir seu backend do lado do servidor no back4app é criar um novo projeto se você ainda não fez isso, siga estes passos faça login na sua conta back4app clique no botão “novo app” no seu painel do back4app dê um nome ao seu app (por exemplo, “php backend tutorial”) uma vez criado, seu novo projeto back4app aparecerá no painel este projeto será a base para os próximos passos de configuração conectar ao back4app via rest api como estamos trabalhando com php sem um sdk específico do parse, vamos depender das apis rest e graphql do back4app para comunicação você precisará das seguintes credenciais do seu painel do back4app id da aplicação chave da api rest url do parse server (geralmente https //parseapi back4app com ) você pode encontrar isso navegando até as configurações do app ou a seção segurança e chaves em php, você pode realizar requisições http usando curl ou outras bibliotecas abaixo está um exemplo curto de como enviar uma requisição post para o back4app $url = 'https //parseapi back4app com/classes/todo'; $data = array( 'title' => 'buy groceries', 'iscompleted' => false ); $payload = json encode($data); $ch = curl init($url); curl setopt($ch, curlopt post, 1); curl setopt($ch, curlopt postfields, $payload); curl setopt($ch, curlopt httpheader, array( 'x parse application id your application id', 'x parse rest api key your rest api key', 'content type application/json' )); curl setopt($ch, curlopt returntransfer, true); $result = curl exec($ch); curl close($ch); echo $result; // print api response este trecho demonstra como conectar sua aplicação php ao seu backend do back4app modifique o your application id , your rest api key , e outros parâmetros para corresponder às suas próprias chaves ao fazer isso, seu código do lado do servidor pode ler e gravar dados em seu novo projeto passo 2 – configurando o banco de dados criando um modelo de dados com seu projeto back4app pronto, é hora de estruturar seu banco de dados um modelo de dados define como os dados da sua aplicação web são organizados por exemplo, você pode armazenar tarefas ou postagens de blog em classes vá para a seção “banco de dados” no seu painel do back4app crie uma nova classe (por exemplo, “todo”) com campos como título (string) e estácompleto (boolean) o back4app permite que você crie colunas para vários tipos de dados, incluindo string , número , booleano , ponteiro , relação , arquivo , e outros você também pode permitir que o esquema seja criado automaticamente quando você salva um objeto pela primeira vez a partir do seu script php criando um modelo de dados usando o agente de ia o agente de ia da back4app pode automatizar a criação de modelos de dados abra o agente de ia no painel forneça uma descrição como “por favor, crie um novo aplicativo todo no back4app com um esquema de classe completo ” deixe o agente de ia criar o esquema do banco de dados para você esse recurso pode economizar seu tempo e manter seu aplicativo do lado do servidor consistente lendo e escrevendo dados (rest api) para salvar um novo objeto na sua todo classe usando rest, você pode enviar uma solicitação post curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo em php, você faria algo semelhante com curl por exemplo $url = 'https //parseapi back4app com/classes/todo'; $data = array('title' => 'buy groceries', 'iscompleted' => false); // (same curl setup as before) para consultar todos os itens existentes todo curl x get \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ https //parseapi back4app com/classes/todo lendo e escrevendo dados (api graphql) back4app também suporta graphql você pode inserir ou recuperar dados enviando consultas ou mutações graphql para https //parseapi back4app com/graphql inserir (mutação) mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } consulta query { todos { edges { node { objectid title iscompleted } } } } trabalhando com consultas ao vivo (opcional) se você precisar de atualizações em tempo real em sua aplicação web, considere consultas ao vivo ative consultas ao vivo no seu painel do back4app, e então use uma abordagem websocket do seu ambiente php (ou um cliente separado) para se inscrever em mudanças embora seja mais comum em clientes javascript, você pode configurar sockets separados em php, se necessário para detalhes, veja a documentação de consultas ao vivo do back4app https //www back4app com/docs/javascript/live queries passo 3 – aplicando segurança com acls e clps visão geral acls (listas de controle de acesso) e clps (permissões de nível de classe) protegem seus dados controlando quem pode ler ou escrever objetos isso protege seu backend de acessos não autorizados passo a passo defina permissões de nível de classe (clps) no painel do banco de dados você pode restringir leitura/escrita pública ou exigir autenticação configure acls em cada objeto se você precisar de controle mais granular uma acl pode especificar acesso de leitura/escrita para um usuário ou função específica para mais detalhes, veja diretrizes de segurança do app https //www back4app com/docs/security/parse security passo 4 – escrevendo funções de código em nuvem por que código em nuvem o código em nuvem permite que você execute javascript do lado do servidor para tarefas como lógica de negócios, gatilhos ou validações, sem precisar configurar seu próprio servidor dessa forma, você pode manter certo código oculto, realizar transformações de dados e mais função de exemplo uma função simples de código em nuvem que calcula o comprimento do texto // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); esta função pode ser invocada a partir do seu script php usando rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength implantação você pode implantar o cloud code via o back4app cli https //www back4app com/docs/local development/parse cli ou o painel do back4app módulos npm se você precisar de bibliotecas extras, instale as com npm e importe as no seu cloud code isso é útil para integrações avançadas do lado do servidor passo 5 – configurando a autenticação ativar autenticação por padrão, seu projeto back4app tem autenticação de usuário via a parse user classe você pode controlar se os usuários devem verificar seu e mail ou apenas fazer login via nome de usuário/senha cadastrar, fazer login, sair (rest) criar um usuário curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"username" "alice","password" "secret123","email" "alice\@example com"}' \\ https //parseapi back4app com/users fazer login de um usuário existente curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login login social logins sociais (google, apple, facebook) são possíveis configurando fluxos oauth para instruções, consulte os documentos de login social https //www back4app com/docs/platform/sign in with apple passo 6 – gerenciamento de armazenamento de arquivos configurando o armazenamento de arquivos você pode enviar arquivos através do rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/jpeg" \\ \ data binary "@/path/to/myimage jpg" \\ https //parseapi back4app com/files/myimage jpg a resposta json contém uma url de arquivo você pode armazenar essa url em suas classes para referenciar o arquivo enviado exemplo { "name" "myimage jpg", "url" "https //myapp back4app io/files/myimage jpg" } considerações de segurança você pode permitir uploads de arquivos apenas de usuários autenticados ou de certos papéis configure as regras de upload de arquivos nas configurações do servidor passo 7 – verificação de email e redefinição de senha visão geral a verificação de email garante que apenas endereços de email válidos sejam usados as redefinições de senha permitem que os usuários recuperem suas contas de forma segura configuração do painel no painel do back4app , vá para configurações do app > email ative a verificação de email e configure seus modelos desejados ative a redefinição de senha para que os usuários possam recuperar contas implementação uma vez ativado, as inscrições de usuários acionam um e mail de verificação você também pode solicitar redefinições de senha usando curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "alice\@example com"}' \\ https //parseapi back4app com/requestpasswordreset passo 8 – agendando tarefas com cloud jobs o que os cloud jobs fazem os cloud jobs permitem que você automatize tarefas como remover dados antigos ou enviar e mails regulares você pode escrevê los em seu main js e agendá los no painel do back4app exemplo // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); implante este código no back4app agende o trabalho no painel sob configurações do app > configurações do servidor > tarefas em segundo plano passo 9 – integrando webhooks definição webhooks permitem que você envie requisições http para outros serviços quando eventos ocorrem, como a criação de um novo registro em suas classes do back4app isso é útil para integrações externas, incluindo plataformas de pagamento, ferramentas de marketing por e mail ou notificações do slack configuração abra o webhooks painel no seu painel do back4app > mais > webhooks adicione um novo webhook com a url do endpoint onde você deseja enviar os dados do evento escolha os gatilhos (por exemplo, criação, atualização ou exclusão de objeto) você também pode definir webhooks em cloud code gatilhos, fazendo requisições http com módulos node js como axios passo 10 – explorando o painel de administração do back4app o back4app admin app é uma interface centrada em modelos que permite a usuários não técnicos ou administradores gerenciar dados sem escrever código oferece uma experiência de manuseio de dados mais intuitiva do que o painel padrão do parse onde encontrá lo ativar o app de administração indo para app dashboard > mais > app de administração clique em “ativar app de administração” e configure suas credenciais de administrador escolha um subdomínio para acessar o app de administração faça login com suas novas credenciais de administrador para começar a gerenciar registros de banco de dados, contas de usuário, funções e mais conclusão neste tutorial, você aprendeu como construir um backend do lado do servidor para sua php aplicação web usando o back4app você configurou um banco de dados seguro, aproveitou recursos em tempo real, definiu lógica personalizada no cloud code e explorou autenticação de usuários, armazenamento de arquivos e tarefas agendadas você também viu como webhooks e o painel de administração podem se integrar a serviços externos e simplificar a gestão de dados com essa base em vigor, você tem um backend flexível e escalável que pode ser estendido conforme necessário para seu próximo projeto em php continue explorando técnicas avançadas, funções personalizadas ou apis de terceiros para tornar sua aplicação ainda mais poderosa e dinâmica próximos passos refine sua aplicação php pronta para produção adicionando cache, balanceamento de carga ou segurança avançada adicione controle de acesso baseado em funções ou fluxos de autenticação únicos, se sua base de usuários exigir consulte a documentação oficial do back4app para saber mais sobre ajuste de desempenho, logs e análises experimente tutoriais adicionais e use as técnicas aprendidas aqui para construir soluções do mundo real, desde e commerce até plataformas sociais