Comment construire un backend pour Yii 2 ?
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.
Pour compléter ce tutoriel, vous aurez besoin de :
- Un compte Back4app et un nouveau projet Back4app Commencer avec Back4app. 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 et suivre le Guide officiel de Yii 2 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.
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.
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.
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.
- 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 lorsque vous ferez des requêtes depuis votre application Yii 2 vers Back4app.
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.
- 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 title (String) et isCompleted (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 Todo classe”).
- Autorisez l'Agent IA à générer le schéma.
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.
Exemple de snippet de code PHP Yii 2 (utilisant cURL) dans un contrôleur :
Interroger les mêmes données avec REST pourrait ressembler à :
Vous pouvez également créer et lire des données en utilisant l'interface GraphQL de Parse. Par exemple, pour créer un Todo:
Dans Yii 2, vous pouvez utiliser des bibliothèques GraphQL ou des requêtes HTTP simples pour interagir avec le point de terminaison GraphQL de Back4app: https://parseapi.back4app.com/graphql
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 pour des détails sur la mise en œuvre de fonctionnalités en temps réel dans vos applications web basées sur PHP.
Back4app offre des listes de contrôle d'accès (ACL) et des autorisations au niveau de la classe (CLP) pour protéger vos données. Les ACL s'appliquent à des objets spécifiques, tandis que les CLP définissent des autorisations globales pour chaque classe.
- Allez dans Base de données dans votre tableau de bord Back4app et sélectionnez la classe (par exemple, “Todo”).
- Ouvrez l'onglet CLP, et configurez les autorisations de lecture/écriture (par exemple, “Nécessite une authentification” ou “Aucun accès”).
Vous pouvez définir des ACL 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 :
Cet objet ne peut maintenant être accessible que par l'utilisateur avec l'objectId spécifié.
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 de la logique métier, des validations de données, ou des déclencheurs pour la création, les mises à jour et les suppressions d'objets.
Voici une simple fonction Cloud Code (écrite en JavaScript) qui calcule la longueur du texte :
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.
Vous pouvez appeler votre fonction depuis Yii 2 en utilisant une simple requête POST REST :
Ou via GraphQL :
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.
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 pour des directives spécifiques au fournisseur.
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.
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.
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.
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.
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 leurs comptes.
- Activer la vérification par e-mail sous Paramètres de l'application > Paramètres de messagerie.
- 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é.
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. Le reste du flux (comme l'envoi de l'e-mail réel) est géré par l'infrastructure Back4app.
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.
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.
- 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.
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 et ensuite Activer l'application d'administration.
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.
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.
- 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.