Ce didacticiel montre la création d'un service de gestion de formulaire pour votre site Web Jamstack ou votre application à une seule page (SPA) à l'aide de travailleurs CloudFlare, une plate-forme sans serveur offrant une vitesse et une efficacité. Le rendu HTML de build-time de Jamstack et le déploiement du serveur Edge fournissent des temps de chargement rapide, mais la gestion des tâches côté serveur comme le traitement de formulaire nécessite une approche différente.
Les solutions traditionnelles côté serveur comme PHP simplifient la gestion des formulaires, mais Jamstack profite des fonctions sans serveur. Ce didacticiel utilise des travailleurs CloudFlare pour créer un microservice pour le traitement des formulaires, offrant des avantages de coûts par rapport aux serveurs dédiés et permettant des workflows complexes en s'intégrant à des services comme AirTable.
Avantages clés:
Handleurs de formulaires tiers:
Les services comme FormSpree, GetForm, FormData et Netlify Forms offrent des fonctionnalités telles que les notifications par e-mail, le filtrage des spams, les intégrations tierces (Zapier), les tableaux de bord, les téléchargements de fichiers et l'exportation CSV. Bien que pratique et offrant souvent des niveaux gratuits, ils peuvent devenir coûteux pour une utilisation à haut volume.
Construire votre propre service (avantages sociaux):
Construire une solution personnalisée à l'aide de CloudFlare Workers propose:
Les services de messagerie comme SendGrid et Mailgun offrent des niveaux gratuits, mais pour l'intégration directe de la base de données ou de l'application, les soumissions de coûts par million peuvent être considérablement inférieures aux gestionnaires de formulaires tiers.
CloudFlare Workers:
CloudFlare Workers, une plate-forme sans serveur, évite le problème "Démarrage du froid" commun dans d'autres offres sans serveur, offrant des temps de réponse presque instants en raison de son architecture informatique d'exécution et de bord V8.
Présentation du projet:
Ce didacticiel vous guide dans la création d'une application CloudFlare Workers et l'intégrer à un spa React prédéfini (liens de code source fourni). Le tutoriel se concentre sur le backend des travailleurs, pas sur le développement de l'interface utilisateur.
Prérequis:
Configuration du compte:
npm install -g @cloudflare/wrangler
), connectez-vous (wrangler login
) et vérifiez l'installation (wrangler --version
). Si la connexion échoue, reportez-vous aux étapes de dépannage du tutoriel d'origine. Si vous utilisez un domaine personnalisé, ajoutez-le à CloudFlare, modifiez les serveurs de noms et téléchargez / configure cloudflared
.
Développement du projet:
wrangler generate cloudflare-form-service
, cd cloudflare-form-service
et npm install
. Mettre à jour wrangler.toml
avec votre ID de compte et configurer des scripts dans package.json
pour le développement et le formatage. index.js
Pour gérer les demandes de publication, lire le corps de la demande (données JSON ou formulaire) et renvoyer les réponses appropriées (y compris la gestion des erreurs). @cfworker/json-schema
(npm install @cfworker/json-schema
), changer wrangler.toml
en "type = "webpack"
, créer validator.js
avec un schéma JSON et une logique de validation et l'intégrer dans index.js
. email-service.js
, email-text-template.js
, et email-html-template.js
. Configurer des variables d'environnement (clé API Mailgun, URL de base de l'API Mailgun, de l'adresse e-mail, à l'adresse e-mail) en utilisant wrangler secret put
ou le tableau de bord CloudFlare. Intégrer email-service.js
dans index.js
. corsHeaders
à index.js
et gérer les demandes d'options de filigrane pour assurer la compatibilité avec les modèles de sécurité du navigateur. Déploiement du projet:
wrangler publish
pour se déployer dans le sous-domaine Workers.Dev de CloudFlare. Testez avec les demandes HTTP mises à jour dans test.http
. wrangler.toml
, créez un enregistrement CNAME dans vos paramètres DNS CloudFlare et publiez sur la production en utilisant wrangler publish -e production
. Re-télécharger les variables d'environnement à l'aide de wrangler secret put
. Tester avec les demandes à votre domaine personnalisé. .env
avec votre URL d'application des travailleurs et déployez sur une plate-forme comme CloudFlare Pages, Netlify ou Vercel. Résumé et FAQ:
Le tutoriel se termine par un résumé et une section FAQ complète couvrant Jamstack, les travailleurs de CloudFlare, des méthodes de traitement des formulaires alternatives, des considérations de coûts et des limitations. Les FAQ explorent également d'autres fonctionnalités et capacités des travailleurs CloudFlare. Les images fournies restent dans leur format et leur emplacement d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!