Quickstarters
Feature Overview
How to Build a Backend for Yii 2?
41 min
introduction dans ce tutoriel, vous apprendrez comment construire un backend pour yii 2 en utilisant back4app yii 2 est un framework php open source populaire qui vous aide à créer des applications web sécurisées et efficaces en intégrant le framework yii avec back4app, vous pouvez tirer parti de fonctionnalités puissantes telles que la gestion de base de données, les fonctions cloud, les api rest et graphql, l'authentification des utilisateurs et les requêtes en temps réel – tout en accélérant votre processus de développement backend vous verrez comment tirer parti de l'environnement de back4app pour réduire la configuration manuelle du serveur, vous permettant de vous concentrer sur l'écriture de votre code yii 2 en suivant ces étapes, vous acquerrez une expérience pratique avec des fonctionnalités essentielles, y compris des contrôles de sécurité robustes (acl, clp), la planification de tâches récurrentes et la configuration d'intégrations externes via des webhooks à la fin de ce tutoriel, vous aurez une structure backend solide en place pour votre projet yii 2, prête à être mise à l'échelle en production ou à être améliorée avec une logique métier personnalisée vous serez également bien préparé à intégrer des api tierces ou à ajouter de nouvelles fonctionnalités à vos applications web conditions préalables 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, inscrivez vous gratuitement et suivez le guide lié pour préparer votre projet un environnement de développement local yii 2 vous pouvez télécharger yii 2 en utilisant composer https //getcomposer org/ et suivre le guide officiel de yii 2 https //www yiiframework com/doc/guide/2 0/en pour la configuration php (version 7 4 ou supérieure) installé vous aurez besoin d'un environnement php compatible pour exécuter yii 2 et gérer les paquets composer connaissance de php et des concepts de base de yii 2 si vous êtes nouveau dans le framework yii, consultez la documentation officielle de yii 2 https //www yiiframework com/doc/guide/2 0/en assurez vous d'avoir toutes ces conditions préalables en place avant de commencer avoir votre projet back4app configuré et votre environnement local yii 2 prêt vous permettra de suivre plus facilement étape 1 – créer un nouveau projet sur back4app et se connecter créer un nouveau projet la première étape pour construire un backend pour yii 2 est de créer un nouveau projet back4app 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 nommez votre application (par exemple, “yii2 backend tutorial”) une fois le projet créé, vous le verrez sur votre tableau de bord back4app cela sert de base pour toutes les configurations backend que nous explorerons dans ce tutoriel connexion via les api parse back4app utilise la plateforme parse en arrière plan bien que le sdk php de parse existe, vous pouvez également intégrer votre application yii 2 avec back4app en utilisant les api rest ou graphql de parse cette approche est flexible, vous permettant d'écrire du code qui envoie des requêtes http ou graphql à back4app depuis vos contrôleurs ou modèles yii récupérer vos clés parse dans votre tableau de bord back4app, allez dans “paramètres de l'application” ou “sécurité & clés” localisez votre id d'application , clé api rest , et l’ url du serveur parse (généralement https //parseapi back4app com ) gardez ces identifiants à portée de main vous en aurez besoin lors de l'envoi de requêtes de votre application yii 2 à back4app étape 2 – configuration de la base de données votre projet back4app est livré avec une base de données cloud qui est automatiquement gérée par le serveur parse vous pouvez créer un modèle de données et y stocker des objets en utilisant rest, graphql ou l'agent ia de back4app création d'un modèle de données ouvrez la section “base de données” dans votre tableau de bord back4app créez une nouvelle classe (par exemple, “todo”) et ajoutez des colonnes telles que titre (string) et estcomplété (boolean) vous pouvez également laisser parse créer ces colonnes automatiquement la première fois que votre code yii envoie des données de plus, l' agent ia de back4app peut vous aider à configurer le schéma ouvrez l'agent ia depuis votre tableau de bord d'application ou le menu décrivez votre modèle de données (par exemple, “créer un schéma d'application todo avec une classe todo ”) autorisez l'agent ia à générer le schéma lecture et écriture de données à l'aide de l'api rest voici un exemple d'enregistrement d'un todo objet à l'aide de l'api rest vous pourriez implémenter cela dans une action de contrôleur yii 2 en utilisant curl ou file get contents() de php pour poster des données json 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 exemple de snippet de code php yii 2 (utilisant curl) dans un contrôleur public function actioncreatetodo() { $url = "https //parseapi back4app com/classes/todo"; $data = \[ "title" => "buy groceries", "iscompleted" => false ]; $headers = \[ "x parse application id your application id", "x parse rest api key your rest api key", "content type application/json" ]; $ch = curl init($url); curl setopt($ch, curlopt post, 1); curl setopt($ch, curlopt postfields, json encode($data)); curl setopt($ch, curlopt httpheader, $headers); curl setopt($ch, curlopt returntransfer, true); $result = curl exec($ch); curl close($ch); // handle $result as needed, e g , parse json or redirect } interroger les mêmes données avec rest pourrait ressembler à 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 en utilisant l'api graphql vous pouvez également créer et lire des données en utilisant l'interface graphql de parse par exemple, pour créer un todo mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } dans yii 2, vous pouvez utiliser des bibliothèques graphql https //packagist org/packages/webonyx/graphql php ou des requêtes http simples pour interagir avec le point de terminaison graphql de back4app https //parseapi back4app com/graphql travailler avec des requêtes en direct (optionnel) pour des mises à jour en temps réel, back4app prend en charge les requêtes en direct , qui vous permettent de vous abonner aux changements sur une classe bien que l'utilisation typique dans yii 2 puisse être moins courante, vous pouvez toujours activer les requêtes en direct dans vos paramètres back4app et gérer les connexions websocket en php c'est plus avancé, alors référez vous à la documentation des requêtes en direct de parse https //www back4app com/docs/javascript live queries/parse livequery overview pour des détails sur la mise en œuvre de fonctionnalités en temps réel dans vos applications web basées sur php étape 3 – application de la sécurité avec les acl et les clp aperçu back4app offre listes de contrôle d'accès (acls) et permissions au niveau de la classe (clps) pour protéger vos données les acls s'appliquent à des objets spécifiques, tandis que les clps définissent des permissions globales pour chaque classe configuration des permissions au niveau de la classe allez dans base de données dans votre tableau de bord back4app et sélectionnez la classe (par exemple, “todo”) ouvrez l'onglet clps , et configurez les permissions de lecture/écriture (par exemple, “nécessite une authentification” ou “pas d'accès”) configuration des acls vous pouvez définir des acls pour des objets individuels en incluant un acl champ lors de la création ou de la mise à jour des données via rest ou graphql par exemple, en utilisant rest 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" "private todo", "acl" { "user object id here" { "read" true, "write" true }, " " { "read" false, "write" false } } }' \\ https //parseapi back4app com/classes/todo cet objet ne peut maintenant être accédé que par l'utilisateur avec l'objectid spécifié étape 4 – écriture de fonctions cloud code pourquoi cloud code utiliser cloud code sur back4app vous permet d'exécuter une logique personnalisée côté serveur sans gérer vos propres serveurs vous pouvez créer logique métier , validations de données , ou déclencheurs pour la création, les mises à jour et les suppressions d'objets exemple de fonction cloud code voici une simple fonction cloud code (écrite en javascript) qui calcule la longueur du texte main js // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); déploiement vous pouvez déployer votre cloud code via le back4app cli ou directement dans la cloud code > functions section de votre tableau de bord back4app back4app cli tableau de bord copiez/collez votre code dans main js et cliquez sur déployer appel de votre fonction cloud vous pouvez appeler votre fonction depuis yii 2 en utilisant une simple requête post 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 ou via graphql mutation { calculatetextlength(input { text "hello graphql" }) { result } } étape 5 – configuration de l'authentification authentification des utilisateurs dans back4app back4app utilise la classe parse user comme base pour une authentification sécurisée vous pouvez créer et vérifier des utilisateurs via des appels rest ou graphql création d'un utilisateur avec 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 '{ "username" "alice", "password" "secret123", "email" "alice\@example com" }' \\ https //parseapi back4app com/users connexion d'un utilisateur 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 pour les connexions sociales (google, apple, facebook, etc ), configurez vos paramètres oauth dans back4app et votre application yii 2 pour gérer les jetons nécessaires consultez les documents de connexion sociale https //www back4app com/docs/platform/sign in with apple pour des directives spécifiques au fournisseur vérification par email & réinitialisation de mot de passe activez la vérification par email et la réinitialisation de mot de passe dans les paramètres d'email de votre tableau de bord back4app pour améliorer la sécurité des utilisateurs allez dans les paramètres d'email dans votre tableau de bord back4app activez la vérification par email et personnalisez vos modèles d'email testez que vos emails sont envoyés et reçus correctement étape 6 – gestion du stockage de fichiers back4app fournit un stockage de fichiers sécurisé via le système de fichiers parse bien que le sdk php de parse soit une option, nous illustrerons à nouveau rest pour la cohérence téléchargement de 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/png" \\ \ data binary "@path/to/local/image png" \\ https //parseapi back4app com/files/myimage png cela renvoie une url pour le fichier enregistré vous pouvez ensuite stocker cette url dans une classe (comme photo ) pour une récupération ultérieure considérations de sécurité des fichiers vous pouvez limiter les téléchargements de fichiers uniquement aux utilisateurs authentifiés ou à des rôles spécifiques en configurant les paramètres du serveur parse dans votre application pour un contrôle plus granulaire, combinez ces paramètres avec vos règles acl et clp étape 7 – vérification par email et réinitialisation de mot de passe aperçu la vérification par email garantit que les utilisateurs possèdent les adresses email avec lesquelles ils s'inscrivent, et la réinitialisation de mot de passe leur permet de récupérer des comptes configuration du tableau de bord back4app activer la vérification par e mail sous paramètres de l'application > paramètres de l'e mail personnaliser l'adresse “de” et les modèles d'e mail tester en créant un nouvel utilisateur pour confirmer que l'e mail de vérification est envoyé mise en œuvre dans votre application yii 2, dirigez les utilisateurs vers une route qui déclenche le point de terminaison de réinitialisation de mot de passe https //www back4app com/docs/users/password reset le reste du flux (comme l'envoi de l'e mail réel) est géré par l'infrastructure de back4app étape 8 – planification des tâches avec les cloud jobs ce que font les cloud jobs les cloud jobs dans back4app vous permettent de planifier des tâches de routine, telles que le nettoyage des données ou l'envoi de notifications définissez les dans votre code cloud ( main js ) et planifiez les dans le tableau de bord exemple tâche de nettoyage 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); } }); étape 9 – intégration des webhooks définition les webhooks permettent à votre application back4app d'envoyer des requêtes http automatisées à des services externes lorsque des événements se produisent, comme la création d'un nouveau todo configuration dans votre tableau de bord back4app , allez à more > webhooks ajoutez un webhook point de terminaison (par exemple, https //your external service com/webhook ) configurez les déclencheurs (par exemple, “nouvel enregistrement dans la classe todo”) avec les webhooks, vous pouvez envoyer des notifications à d'autres services (comme slack, stripe ou votre api personnalisée) chaque fois qu'un todo objet est créé ou mis à jour étape 10 – explorer le panneau d'administration back4app où le trouver l'application d'administration back4app est une interface point and click pour gérer vos données sans écrire de code vous pouvez l'activer en visitant app dashboard > plus > admin app puis activer l'application d'administration fonctionnalités après avoir créé un utilisateur administrateur, vous aurez un sous domaine dédié pour votre application d'administration cela donne aux membres autorisés de l'équipe une interface claire pour les opérations crud sur votre base de données back4app, la révision des journaux ou la visualisation des analyses — aucun code nécessaire conclusion dans ce tutoriel, vous avez découvert comment construire un backend pour yii 2 en utilisant back4app vous avez configuré une base de données basée sur le cloud, mis en place une sécurité robuste avec des acl et des clp, programmé des tâches en arrière plan avec cloud jobs, et intégré des services externes via des webhooks vous avez également vu comment gérer l'authentification des utilisateurs et le stockage de fichiers de manière sécurisée ayant combiné un framework yii open source pour la construction d'applications web avec l'infrastructure évolutive de back4app, vous disposez maintenant d'un environnement puissant prêt pour le développement et la croissance prochaines étapes passez à la production en élargissant vos modèles de données, en appliquant des paramètres de sécurité supplémentaires et en optimisant les performances intégrez des api externes (passerelles de paiement, fournisseurs d'email) via cloud code ou des webhooks directs explorez la documentation officielle de back4app pour des sujets plus approfondis comme la sécurité avancée, l'analyse des journaux et les optimisations de performance en savoir plus sur la construction d'applications web complexes avec yii 2 en utilisant le contrôle d'accès basé sur les rôles, des stratégies de mise en cache et des relations de base de données avancées avec cette base, vous pouvez continuer à améliorer votre projet yii 2, vous concentrer sur la logique spécifique à votre entreprise et offrir des fonctionnalités robustes et évolutives à vos utilisateurs profitez de la programmation et de la construction d'applications web modernes