


Middleware CakePHP : intégrez les services de messagerie et de SMS pour implémenter les notifications de messages
Middleware CakePHP : intégrez les services de messagerie et de SMS pour implémenter les notifications de messages
Introduction :
Dans les applications Web modernes, les notifications de messages sont une fonction très importante. Les utilisateurs doivent recevoir des informations importantes du système, telles qu'une inscription réussie, la réinitialisation du mot de passe, les mises à jour de l'état des commandes, etc. Pour réaliser cette fonctionnalité, l’intégration des services de messagerie et SMS est devenue une approche courante. Dans cet article, je vais présenter comment utiliser le middleware CakePHP pour implémenter la fonction de notification de message et fournir quelques exemples de code spécifiques.
- Préparation de l'environnement :
Tout d'abord, nous devons nous assurer que le framework CakePHP a été installé et configuré correctement. De plus, nous devons disposer de clés API valides du fournisseur de services de messagerie et de SMS. Dans cet article, j'utiliserai Mailgun comme fournisseur de services de messagerie et Twilio comme fournisseur de services SMS. - Configurer le service de messagerie :
Dans CakePHP, nous pouvons utiliser le service de messagerie fourni par Mailgun en configurant les paramètres SMTP dans le fichier config/app.php.
// app.php 'EmailTransport' => [ 'default' => [ 'className' => 'CakeMailerTransportMailgunTransport', 'apiKey' => 'YOUR_MAILGUN_API_KEY', 'domain' => 'YOUR_MAILGUN_DOMAIN', 'url' => 'YOUR_MAILGUN_API_URL', ], ],
Nous devons remplacer YOUR_MAILGUN_API_KEY
, YOUR_MAILGUN_DOMAIN
et YOUR_MAILGUN_API_URL
par les valeurs réelles. YOUR_MAILGUN_API_KEY
、YOUR_MAILGUN_DOMAIN
和YOUR_MAILGUN_API_URL
替换为实际的值。
- 配置短信服务:
对于短信服务,我们将使用Twilio提供的API。在CakePHP中,我们可以通过在config/app.php文件中配置Twilio设置来使用他们的服务。
// app.php 'Twilio' => [ 'sid' => 'YOUR_TWILIO_SID', 'token' => 'YOUR_TWILIO_TOKEN', 'sender' => 'YOUR_TWILIO_PHONE_NUMBER', ],
同样,我们需要将YOUR_TWILIO_SID
、YOUR_TWILIO_TOKEN
和YOUR_TWILIO_PHONE_NUMBER
- Configurer le service SMS :
// src/Middleware/NotificationMiddleware.php namespace AppMiddleware; use CakeMailerMailerAwareTrait; use CakeMailerEmail; use TwilioRestClient; class NotificationMiddleware { use MailerAwareTrait; public function __invoke($request, $response, $next) { // 执行下一个中间件之前的代码 // ... // 发送电子邮件 $this->getMailer('Default')->send('notification', [$data]); // 发送短信 $twilio = new Client(getenv('TWILIO_SID'), getenv('TWILIO_TOKEN')); $twilio->messages->create( $phoneNumber, [ 'from' => getenv('TWILIO_SENDER'), 'body' => $message, ] ); // 执行下一个中间件之后的代码 // ... return $next($request, $response); } }
Copier après la connexionDe même, nous devons remplacer - Dans le code, nous utilisons le MailerAwareTrait fourni avec CakePHP pour envoyer des e-mails. Nous avons également envoyé un SMS via l'API de Twilio. « notification » dans le code représente le modèle d'e-mail que nous avons créé dans le répertoire Mailers, et $data représente les données transmises au modèle d'e-mail. Enregistrer le middleware :
// config/bootstrap.php use AppMiddlewareNotificationMiddleware; use CakeHttpMiddlewareQueue; $middlewareQueue = new MiddlewareQueue(); $middlewareQueue->add(new NotificationMiddleware()); // 替换原有的middlewareQueue // ... // 设置新的middlewareQueue $application->setMiddleware($middlewareQueue);
Copier après la connexionPour que le middleware fonctionne, nous devons l'enregistrer auprès de l'application. Nous pouvons le faire en ajoutant le code suivant au fichier bootstrap.php :
rrreee🎜De cette façon, nous enregistrons le NotificationMiddleware dans la file d'attente middleware de l'application. 🎜🎜Conclusion : 🎜En utilisant le middleware CakePHP, nous pouvons facilement intégrer des services de messagerie et de SMS pour implémenter des fonctions de notification de messages. Cet article fournit quelques exemples de code qui, nous l’espérons, vous aideront à implémenter des fonctionnalités similaires dans vos propres projets. Bien entendu, vous pouvez également étendre et personnaliser ces codes en fonction de vos besoins. Bonne chance pour créer des applications Web puissantes et complètes avec CakePHP ! 🎜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!
- Pour le service SMS, nous utiliserons l'API fournie par Twilio. Dans CakePHP, nous pouvons utiliser leurs services en configurant les paramètres Twilio dans le fichier config/app.php.
YOUR_TWILIO_SID
, YOUR_TWILIO_TOKEN
et YOUR_TWILIO_PHONE_NUMBER
par les valeurs réelles. - Maintenant, nous pouvons commencer à écrire un middleware CakePHP pour implémenter la fonction de notification de message. Tout d’abord, nous créons un fichier nommé NotificationMiddleware.php et le plaçons dans le répertoire src/Middleware.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Comment désactiver les notifications de messages dans le navigateur Xiaomi ? Le navigateur Xiaomi vous informera automatiquement des informations les plus récentes, mais de nombreux amis ne savent pas comment désactiver les notifications de messages. Ensuite, l'éditeur explique aux joueurs comment désactiver les notifications de messages dans Xiaomi. Navigateur. Tutoriel, les joueurs intéressés viennent y jeter un oeil ! Comment désactiver les notifications de messages du navigateur Xiaomi 1. Ouvrez d'abord la fonction [Navigateur] sur le téléphone mobile Xiaomi et entrez [Mon] dans le coin inférieur droit de la page principale pour accéder à la zone spéciale. 2. Ensuite, la barre de fonctions s'agrandira ; ci-dessous, cliquez sur [Paramètres] sur le côté droit de la fonction de l'avatar ; 3. Cliquez ensuite sur [Gestion des notifications de messages] sur la page de fonction des paramètres ; 4. Enfin, faites glisser le bouton derrière [Recevoir une notification de message] pour désactiver la notification de message.

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.
