Quickstarters
Feature Overview
Come costruire un backend per PHP?
40 min
introduzione in questo tutorial, imparerai come costruire un backend per php utilizzando back4app per alimentare un'applicazione web dinamica sul lato server ci concentreremo sull'integrazione dei principali servizi di back4app, come la gestione del database, le funzioni cloud code, le api rest e graphql, l'autenticazione degli utenti e le query in tempo reale seguendo questi passaggi, creerai un backend sicuro, scalabile e robusto che puoi utilizzare nei tuoi progetti php esamineremo anche perché back4app accelera lo sviluppo del backend rispetto alla costruzione di tutto da zero, così potrai risparmiare tempo e fatica scoprirai come implementare una sicurezza avanzata, pianificare attività con cloud jobs e connettere integrazioni esterne con webhook, il tutto facendo affidamento sull'infrastruttura di back4app alla fine, sarai pronto a far crescere questo backend di base sul lato server in un setup di produzione completo, o integrare api di terze parti e logica personalizzata per un uso reale requisiti per completare questo tutorial, avrai bisogno di un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, creane uno gratuitamente e segui la guida per preparare il tuo nuovo progetto ambiente di sviluppo php di base puoi configurarlo localmente con php installato o utilizzare un ambiente di hosting che supporta php documentazione ufficiale di php https //www php net/docs php supporto curl o un modo per inviare richieste http la maggior parte delle installazioni php include curl per impostazione predefinita installazione di curl (documentazione ufficiale) https //curl se/docs/install html familiarità con i fondamenti delle applicazioni web comprendere http, scripting lato server e concetti di base sui database sarà utile assicurati di avere questi prerequisiti in atto prima di immergerti nei passaggi seguenti avere il tuo progetto back4app configurato e un ambiente php pronto renderà più facile seguire passo 1 – configurazione del progetto back4app crea un nuovo progetto il primo passo per costruire il tuo backend lato server su back4app è creare un nuovo progetto se non lo hai già fatto, segui questi passaggi accedi al tuo account back4app clicca sul pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “php backend tutorial”) una volta creato, il tuo nuovo progetto back4app appare nel dashboard questo progetto sarà la base per i prossimi passaggi di configurazione collegati a back4app tramite rest api poiché stiamo lavorando con php senza un sdk specifico per parse, ci affideremo alle api rest e graphql di back4app per la comunicazione avrai bisogno delle seguenti credenziali dal tuo dashboard di back4app id dell'applicazione chiave api rest url del server parse (di solito https //parseapi back4app com ) puoi trovare queste informazioni navigando nella sezione impostazioni dell'app o sicurezza e chiavi in php, puoi eseguire richieste http utilizzando curl o altre librerie di seguito è riportato un breve esempio di invio di una richiesta post a 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 questo frammento dimostra come collegare la tua applicazione php al tuo backend di back4app modifica il your application id , your rest api key , e altri parametri per corrispondere alle tue chiavi in questo modo, il tuo codice lato server può leggere e scrivere dati nel tuo nuovo progetto passo 2 – configurazione del database creazione di un modello dati con il tuo progetto back4app pronto, è tempo di strutturare il tuo database un modello dati definisce come sono organizzati i dati della tua applicazione web ad esempio, potresti memorizzare attività o post del blog in classi vai alla sezione “database” nel tuo dashboard di back4app crea una nuova classe (ad esempio, “todo”) con campi come title (string) e iscompleted (boolean) back4app ti consente di creare colonne per vari tipi di dati, inclusi string , number , boolean , pointer , relation , file , e altri puoi anche far sì che lo schema venga creato automaticamente quando salvi per la prima volta un oggetto dal tuo script php creazione di un modello dati utilizzando l'agente ai l'agente ai di back4app può automatizzare la creazione del modello di dati apri l'agente ai dalla dashboard fornisci una descrizione come “per favore crea una nuova app todo su back4app con uno schema di classe completo ” lascia che l'agente ai crei lo schema del database per te questa funzione può farti risparmiare tempo e mantenere la tua app lato server coerente lettura e scrittura dei dati (rest api) per salvare un nuovo oggetto nella tua todo classe utilizzando rest, puoi inviare una richiesta 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 in php, faresti qualcosa di simile con curl ad esempio $url = 'https //parseapi back4app com/classes/todo'; $data = array('title' => 'buy groceries', 'iscompleted' => false); // (same curl setup as before) per interrogare tutti gli todo elementi 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 lettura e scrittura dati (api graphql) back4app supporta anche graphql puoi inserire o recuperare dati inviando query o mutazioni graphql a https //parseapi back4app com/graphql inserisci (mutazione) mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } query query { todos { edges { node { objectid title iscompleted } } } } lavorare con le query live (opzionale) se hai bisogno di aggiornamenti in tempo reale nella tua applicazione web, considera live queries abilita le live queries nel tuo dashboard di back4app, quindi utilizza un approccio websocket dal tuo ambiente php (o un client separato) per iscriverti alle modifiche anche se è più comune nei client javascript, puoi configurare socket separati in php se necessario per dettagli, vedere il documentazione delle live queries di back4app https //www back4app com/docs/javascript/live queries passo 3 – applicare la sicurezza con acl e clp panoramica breve acl (liste di controllo degli accessi) e clp (permessi a livello di classe) proteggono i tuoi dati controllando chi può leggere o scrivere oggetti questo protegge il tuo backend da accessi non autorizzati passo dopo passo imposta i permessi a livello di classe (clp) nel dashboard del database puoi limitare la lettura/scrittura pubblica o richiedere autenticazione configura le acl su ogni oggetto se hai bisogno di un controllo più dettagliato un'acl può specificare l'accesso in lettura/scrittura per un utente o un ruolo specifico per ulteriori dettagli, vedere linee guida sulla sicurezza dell'app https //www back4app com/docs/security/parse security passo 4 – scrivere funzioni di cloud code perché il cloud code il cloud code ti consente di eseguire javascript lato server per compiti come logica aziendale, trigger o validazioni, senza dover configurare il tuo server in questo modo, puoi mantenere nascosto un certo codice, eseguire trasformazioni dei dati e altro funzione esempio una semplice funzione di cloud code che calcola la lunghezza del testo // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); questa funzione può essere invocata dal tuo script php utilizzando 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 distribuzione puoi distribuire il cloud code tramite il back4app cli https //www back4app com/docs/local development/parse cli o il back4app dashboard moduli npm se hai bisogno di librerie extra, installale con npm e importale nel tuo cloud code questo è utile per integrazioni avanzate lato server passo 5 – configurazione dell'autenticazione abilita l'autenticazione per impostazione predefinita, il tuo progetto back4app ha l'autenticazione degli utenti tramite la parse user classe puoi controllare se gli utenti devono verificare la loro email o solo accedere tramite nome utente/password registrazione, accesso, disconnessione (rest) crea un utente 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 accedi a un utente esistente 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 accesso sociale i log in social (google, apple, facebook) sono possibili configurando i flussi oauth per istruzioni, fare riferimento alla documentazione sul login sociale https //www back4app com/docs/platform/sign in with apple passo 6 – gestione dello storage dei file impostazione dello storage dei file puoi caricare file tramite 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 la risposta json contiene un url del file puoi memorizzare questo url nelle tue classi per fare riferimento al file caricato esempio { "name" "myimage jpg", "url" "https //myapp back4app io/files/myimage jpg" } considerazioni sulla sicurezza puoi consentire il caricamento di file solo da utenti autenticati o da determinati ruoli configura le regole di caricamento dei file nelle impostazioni del server passo 7 – verifica email e ripristino password panoramica la verifica dell'email garantisce che vengano utilizzate solo email valide i ripristini delle password consentono agli utenti di recuperare i propri account in modo sicuro configurazione del dashboard nel dashboard di back4app , vai a impostazioni app > email abilita la verifica dell'email e imposta i tuoi modelli desiderati abilita il ripristino della password in modo che gli utenti possano recuperare gli account implementazione una volta abilitato, le registrazioni degli utenti attivano un'email di verifica puoi anche richiedere il ripristino della password utilizzando 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 – pianificazione dei compiti con cloud jobs cosa fanno i cloud jobs i cloud jobs ti permettono di automatizzare compiti come rimuovere dati obsoleti o inviare email regolari puoi scriverli nel tuo main js e programmarli nel dashboard di back4app esempio // 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); } }); distribuisci questo codice su back4app pianifica il lavoro nel dashboard sotto impostazioni app > impostazioni server > lavori in background passo 9 – integrazione dei webhook definizione i webhook ti permettono di inviare richieste http ad altri servizi quando si verificano eventi, come la creazione di un nuovo record nelle tue classi back4app questo è utile per integrazioni esterne, comprese piattaforme di pagamento, strumenti di email marketing o notifiche slack configurazione apri il pannello webhooks nel tuo dashboard back4app > altro > webhooks aggiungi un nuovo webhook con l'url dell'endpoint dove desideri inviare i dati degli eventi scegli i trigger (ad esempio, creazione, aggiornamento o eliminazione di un oggetto) puoi anche definire webhook nei trigger del cloud code , effettuando richieste http con moduli node js come axios passo 10 – esplorare il pannello di amministrazione di back4app l' app di amministrazione di back4app è un'interfaccia centrata sul modello che consente a utenti non tecnici o amministratori di gestire i dati senza scrivere codice offre un'esperienza di gestione dei dati più intuitiva rispetto al dashboard standard di parse dove trovarlo abilita l'app di amministrazione andando su app dashboard > altro > app di amministrazione clicca su “abilita app di amministrazione” e configura le tue credenziali di amministratore scegli un sottodominio per accedere all'app di amministrazione accedi con le tue nuove credenziali di amministratore per iniziare a gestire i record del database, gli account utente, i ruoli e altro ancora conclusione in questo tutorial, hai imparato come costruire un backend server side per la tua php applicazione web utilizzando back4app hai impostato un database sicuro, sfruttato funzionalità in tempo reale, definito logica personalizzata nel cloud code e esplorato l'autenticazione degli utenti, l'archiviazione dei file e i lavori programmati hai anche visto come i webhook e il pannello di amministrazione possono integrarsi con servizi esterni e semplificare la gestione dei dati con questa base in atto, hai un backend flessibile e scalabile che puoi estendere secondo necessità per il tuo prossimo progetto php continua a esplorare tecniche avanzate, ruoli personalizzati o api di terze parti per rendere la tua applicazione ancora più potente e dinamica prossimi passi affina la tua applicazione php pronta per la produzione aggiungendo caching, bilanciamento del carico o sicurezza avanzata aggiungi controllo degli accessi basato sui ruoli o flussi di autenticazione unici, se la tua base utenti lo richiede consulta la documentazione ufficiale di back4app per saperne di più sull'ottimizzazione delle prestazioni, i log e l'analisi prova tutorial aggiuntivi e utilizza le tecniche apprese qui per costruire soluzioni nel mondo reale, dall'e commerce alle piattaforme social
