Quickstarters
Feature Overview
Comment construire un backend pour PHP ?
41 min
introduction dans ce tutoriel, vous apprendrez comment construire un backend pour php en utilisant back4app pour alimenter une application web dynamique côté serveur nous nous concentrerons sur l'intégration des services clés de back4app, tels que la gestion de base de données, les fonctions cloud code, les api rest et graphql, l'authentification des utilisateurs et les requêtes en temps réel en suivant ces étapes, vous créerez un backend sécurisé, évolutif et robuste que vous pourrez utiliser dans vos projets php nous verrons également pourquoi back4app accélère le développement backend par rapport à la construction de tout à partir de zéro, afin que vous puissiez gagner du temps et des efforts vous découvrirez comment mettre en œuvre une sécurité avancée, planifier des tâches avec cloud jobs, et connecter des intégrations externes avec des webhooks, tout en vous appuyant sur l'infrastructure de back4app à la fin, vous serez prêt à faire évoluer ce backend de base côté serveur en une configuration de production complète, ou à intégrer des api tierces et une logique personnalisée pour un usage réel prérequis pour compléter ce tutoriel, vous aurez besoin de un compte back4app et un nouveau projet back4app commencer avec back4app https //www back4app com/docs/get started/new parse app si vous n'avez pas de compte, créez en un gratuitement et suivez le guide pour préparer votre nouveau projet environnement de développement php de base vous pouvez le configurer localement avec php installé ou utiliser un environnement d'hébergement qui prend en charge php documentation officielle de php https //www php net/docs php support curl ou un moyen d'envoyer des requêtes http la plupart des installations php incluent curl par défaut installer curl (docs officiels) https //curl se/docs/install html familiarité avec les fondamentaux des applications web comprendre http, le scripting côté serveur et les concepts de base des bases de données sera utile assurez vous d'avoir ces prérequis en place avant de plonger dans les étapes ci dessous avoir votre projet back4app configuré et un environnement php prêt facilitera le suivi étape 1 – configuration du projet back4app créer un nouveau projet la première étape pour construire votre backend côté serveur sur back4app consiste à créer un nouveau projet si vous ne l'avez pas encore fait, suivez ces étapes connectez vous à votre compte back4app cliquez sur le bouton “nouvelle application” dans votre tableau de bord back4app donnez un nom à votre application (par exemple, “php backend tutorial”) une fois créé, votre nouveau projet back4app apparaît dans le tableau de bord ce projet sera la base des prochaines étapes de configuration se connecter à back4app via l'api rest puisque nous travaillons avec php sans sdk spécifique à parse, nous allons nous fier aux api rest et graphql de back4app pour la communication vous aurez besoin des identifiants suivants depuis votre tableau de bord back4app id d'application clé api rest url du serveur parse (généralement https //parseapi back4app com ) vous pouvez les trouver en naviguant vers les paramètres de l'application ou la section sécurité et clés en php, vous pouvez effectuer des requêtes http en utilisant curl ou d'autres bibliothèques voici un court exemple d'envoi d'une requête post à 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 ce snippet démontre comment connecter votre application php à votre backend back4app modifiez le votre id application , votre cle api rest , et d'autres paramètres pour correspondre à vos propres clés ce faisant, votre code côté serveur peut lire et écrire des données dans votre nouveau projet étape 2 – configuration de la base de données création d'un modèle de données avec votre projet back4app prêt, il est temps de structurer votre base de données un modèle de données définit comment les données de votre application web sont organisées par exemple, vous pourriez stocker des tâches ou des articles de blog dans des classes allez à la section “base de données” dans votre tableau de bord back4app créez une nouvelle classe (par exemple, “todo”) avec des champs tels que titre (string) et estcomplété (boolean) back4app vous permet de créer des colonnes pour divers types de données, y compris string , number , boolean , pointer , relation , file , et d'autres vous pouvez également laisser le schéma être créé automatiquement lorsque vous enregistrez pour la première fois un objet depuis votre script php création d'un modèle de données en utilisant l'agent ia l'agent ai de back4app peut automatiser la création de modèles de données ouvrez l'agent ai depuis le tableau de bord fournissez une description comme “veuillez créer une nouvelle application todo sur back4app avec un schéma de classe complet ” laissez l'agent ai créer le schéma de base de données pour vous cette fonctionnalité peut vous faire gagner du temps et garder votre application côté serveur cohérente lecture et écriture de données (api rest) pour enregistrer un nouvel objet dans votre todo classe en utilisant rest, vous pouvez envoyer une requête 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 en php, vous feriez quelque chose de similaire avec curl par exemple $url = 'https //parseapi back4app com/classes/todo'; $data = array('title' => 'buy groceries', 'iscompleted' => false); // (same curl setup as before) pour interroger tous les todo éléments existants 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 lecture et écriture de données (api graphql) back4app prend également en charge graphql vous pouvez insérer ou récupérer des données en envoyant des requêtes ou des mutations graphql à https //parseapi back4app com/graphql insérer (mutation) mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } requête query { todos { edges { node { objectid title iscompleted } } } } travailler avec des requêtes en direct (optionnel) si vous avez besoin de mises à jour en temps réel dans votre application web, envisagez les requêtes en direct activez les requêtes en direct dans votre tableau de bord back4app, puis utilisez une approche websocket depuis votre environnement php (ou un client séparé) pour vous abonner aux changements bien que plus courantes dans les clients javascript, vous pouvez configurer des sockets séparés en php si nécessaire pour plus de détails, consultez les docs des requêtes en direct de back4app https //www back4app com/docs/javascript/live queries étape 3 – appliquer la sécurité avec les acl et les clp aperçu bref les acl (listes de contrôle d'accès) et les clp (permissions au niveau de la classe) protègent vos données en contrôlant qui peut lire ou écrire des objets cela sécurise votre backend contre les accès non autorisés étape par étape définir les permissions au niveau de la classe (clp) dans le tableau de bord de la base de données vous pouvez restreindre la lecture/écriture publique ou exiger une authentification configurer les acl sur chaque objet si vous avez besoin d'un contrôle granulaire une acl peut spécifier l'accès en lecture/écriture pour un utilisateur ou un rôle spécifique pour plus de détails, consultez les directives de sécurité de l'application https //www back4app com/docs/security/parse security étape 4 – écrire des fonctions de code cloud pourquoi le code cloud le code cloud vous permet d'exécuter du javascript côté serveur pour des tâches telles que la logique métier, les déclencheurs ou les validations, sans configurer votre propre serveur de cette façon, vous pouvez garder certains codes cachés, effectuer des transformations de données, et plus encore fonction exemple une simple fonction de code cloud qui calcule la longueur du texte // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); cette fonction peut être invoquée depuis votre script php en utilisant 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 déploiement vous pouvez déployer le cloud code via le back4app cli https //www back4app com/docs/local development/parse cli ou le tableau de bord back4app modules npm si vous avez besoin de bibliothèques supplémentaires, installez les avec npm et importez les dans votre cloud code cela est utile pour des intégrations avancées côté serveur étape 5 – configuration de l'authentification activer l'authentification par défaut, votre projet back4app dispose d'une authentification utilisateur via la parse user classe vous pouvez contrôler si les utilisateurs doivent vérifier leur e mail ou seulement se connecter via un nom d'utilisateur/mot de passe inscription, connexion, déconnexion (rest) créer un utilisateur 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 connecter un utilisateur existant 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 connexion sociale les connexions sociales (google, apple, facebook) sont possibles en configurant les flux oauth pour des instructions, reportez vous aux documents de connexion sociale https //www back4app com/docs/platform/sign in with apple étape 6 – gestion du stockage de fichiers configuration du stockage de fichiers vous pouvez télécharger des fichiers via 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 réponse json contient une url de fichier vous pouvez stocker cette url dans vos classes pour référencer le fichier téléchargé exemple { "name" "myimage jpg", "url" "https //myapp back4app io/files/myimage jpg" } considérations de sécurité vous pouvez autoriser les téléchargements de fichiers uniquement à partir d'utilisateurs authentifiés ou de certains rôles configurez les règles de téléchargement de fichiers dans les paramètres du serveur étape 7 – vérification par e mail et réinitialisation du mot de passe aperçu la vérification par e mail garantit que seules des adresses e mail valides sont utilisées les réinitialisations de mot de passe permettent aux utilisateurs de récupérer leurs comptes en toute sécurité configuration du tableau de bord dans le tableau de bord back4app , allez à paramètres de l'application > e mail activer la vérification par e mail et configurez vos modèles souhaités activer la réinitialisation du mot de passe afin que les utilisateurs puissent récupérer leurs comptes mise en œuvre une fois activé, les inscriptions des utilisateurs déclenchent un e mail de vérification vous pouvez également demander des réinitialisations de mot de passe en utilisant 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 étape 8 – planification des tâches avec les cloud jobs ce que font les cloud jobs les cloud jobs vous permettent d'automatiser des tâches comme la suppression de données anciennes ou l'envoi d'e mails réguliers vous pouvez les écrire dans votre main js et les planifier sur le tableau de bord back4app exemple // 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); } }); déployez ce code sur back4app planifiez le travail dans le tableau de bord sous paramètres de l'application > paramètres du serveur > tâches d'arrière plan étape 9 – intégration des webhooks définition les webhooks vous permettent d'envoyer des requêtes http à d'autres services lorsque des événements se produisent, comme la création d'un nouvel enregistrement dans vos classes back4app cela est utile pour les intégrations externes, y compris les plateformes de paiement, les outils de marketing par e mail ou les notifications slack configuration ouvrez le panneau des webhooks dans votre tableau de bord back4app > plus > webhooks ajoutez un nouveau webhook avec l'url de point de terminaison où vous souhaitez envoyer les données d'événement choisissez les déclencheurs (par exemple, création, mise à jour ou suppression d'objet) vous pouvez également définir des webhooks dans les déclencheurs de cloud code , en effectuant des requêtes http avec des modules node js comme axios étape 10 – explorer le panneau d'administration back4app l' application d'administration back4app est une interface centrée sur le modèle qui permet aux utilisateurs non techniques ou aux administrateurs de gérer des données sans écrire de code elle offre une expérience de gestion des données plus intuitive que le tableau de bord parse standard où le trouver activer l'application d'administration en allant à tableau de bord de l'application > plus > application d'administration cliquez sur “activer l'application d'administration” et configurez vos identifiants d'administrateur choisissez un sous domaine pour accéder à l'application d'administration connectez vous avec vos nouveaux identifiants d'administrateur pour commencer à gérer les enregistrements de la base de données, les comptes utilisateurs, les rôles, et plus encore conclusion dans ce tutoriel, vous avez appris à construire un backend côté serveur pour votre php application web en utilisant back4app vous avez configuré une base de données sécurisée, exploité des fonctionnalités en temps réel, défini une logique personnalisée dans le cloud code, et exploré l'authentification des utilisateurs, le stockage de fichiers et les tâches planifiées vous avez également vu comment les webhooks et le panneau d'administration peuvent s'intégrer à des services externes et simplifier la gestion des données avec cette base en place, vous disposez d'un backend flexible et évolutif que vous pouvez étendre selon vos besoins pour votre prochain projet php continuez à explorer des techniques avancées, des rôles personnalisés ou des api tierces pour rendre votre application encore plus puissante et dynamique prochaines étapes affinez votre application php prête pour la production en ajoutant du caching, de l'équilibrage de charge ou une sécurité avancée ajoutez un contrôle d'accès basé sur les rôles ou des flux d'authentification uniques, si votre base d'utilisateurs le nécessite consultez la documentation officielle de back4app pour en savoir plus sur l'optimisation des performances, les journaux et l'analyse essayez des tutoriels supplémentaires et utilisez les techniques apprises ici pour construire des solutions concrètes, du commerce électronique aux plateformes sociales