Laravel est un framework de développement Web PHP simple et élégant (PHP Web Framework). Ensuite, à travers cet article, je partagerai avec vous la fonction d'envoi de code de vérification SMS "standard" dans Laravel. Les amis qui en ont besoin peuvent s'y référer
Introduction à Laravel<.>
Laravel est un framework de développement Web PHP simple et élégant (PHP Web Framework). Il peut vous libérer des codes désordonnés comme les nouilles ; il peut vous aider à créer une application réseau parfaite, et chaque ligne de code peut être concise et expressive.Développement "Standard" de la fonction d'envoi de code de vérification SMS dans LaravelScénarios de demande
Envoyez un « code de vérification » ou une « notification par message » sur votre téléphone mobile ou par e-mail.Complet
Tout d'abord, la spécification dans Laravel est d'utiliser la "Notification de message" de Laravel, ici le scénario est "Code de vérification" . Cette exigence est utilisée par presque tous les systèmes logiciels.Créer une scène de notification
La première étape consiste à utiliser php artisan make:notification pour créer une classe de notification une fois la création réussie, trois d'entre elles existent déjà par défaut. Il existe trois méthodes via, toMail et toArray. Le code de vérification étant envoyé, cette classe de contrôle est nommée VerificationCode. Créez ensuite un modèle de données de code de vérification et une migration de table de données. Vous pouvez utiliser php artisan make:model "VerificationCode" -m pour créer rapidement le modèle de données et la migration directement. La migration de ThinkSNS+ est la suivante : La deuxième étape consiste à ouvrir la classe de modèle de données et à y ajouter le trait IlluminateNotificationsNotifiable :
À partir du code, vous pouvez voir que nous avons également ajouté la « suppression logicielle ». Étant donné que le code de vérification est envoyé en fonction du numéro de téléphone portable ou de l'adresse e-mail, il n'est pas nécessaire de le faire. d'autres astuces intégrées, et il n'a pas non plus besoin d'enregistrer le "message" "Tableau de données de notification", donc dans la méthode routeNotificationFor, nous choisissons de renvoyer directement le compte (numéro de téléphone portable ou adresse e-mail) qui doit être envoyé.
Rejoignez le mode usine et envoyez rapidement
Ouvrez database/factories/ModelFactory.php et ajoutez une définition d'usine sur le modèle de données de notification : De cette façon, nous pouvons créer rapidement des codes de vérification et envoyer des notifications via la fonction d'usine factory(ZhiyiPlusModelsVerificationCode::class). Pourquoi le trait de notification est-il ajouté au modèle de données du code de vérification ? Tout d'abord, Laravel ajoute le trait IlluminateNotificationsNotifiable au modèle User par défaut, afin que vous puissiez rapidement envoyer une notification à l'utilisateur via $user->notify(), mais il y a cette phrase dans la spécification document : N'oubliez pas que vous pouvez utiliser le trait IlluminateNotificationsNotifiable sur n'importe lequel de vos modèles. Vous n'êtes pas limité à l'inclure uniquement sur votre modèle utilisateur.Ceci sont les mots originaux du document officiel de Laravel. , ce qui signifie IlluminateNotificationsNotifiable Pas seulement pour le modèle User. Notre ajout d'IlluminateNotificationsNotifiable dans le modèle de code de vérification est donc entièrement cohérent avec l'utilisation correcte des notifications Laravel.Développer une classe de notification
Tout d'abord, il y a un canal de champ dans la migration de la table de données, qui est l'ID du canal de notification We. peut utiliser cette valeur pour décider comment envoyer le code de vérification, et cette opération est implémentée dans le via de la classe de notification : La façon dont nous choisissons est de renvoyer directement le valeur du canal, qui peut être n'importe quelle valeur, tant que nous implémentons ce canal de notification, nous pouvons l'envoyer, et Laravel a intégré une base de données de canaux d'envoi, mail et nexmoComplet envoyer le code de vérification de l'e-mail
En fait, il y a très peu de choses que nous devons faire dans cette étape Lors de la production de la classe de notification, la méthode toMail a été complétée, nous pouvons donc directement la modifier. le contenu du message.Compléter l'envoi du code de vérification SMS
Nous utilisons le package overtrue/easy-sms pour envoyer des messages texte. Il s'agit d'un client d'envoi de messages texte développé par An Zhengchao. Il intègre de nombreuses plates-formes de messages texte et sa mise en œuvre est également excellente. (Tucao : bien que certains détails posent problème, comme le fait de ne pas passer la passerelle selon la méthode d'appel du contrat)
Comptez d'abord sur SMS pour envoyer au client le compositeur du package nécessite overtrue/easy-sms, puis créez une nouvelle configuration /config/sms.php, quel est le contenu ? , suivez simplement les instructions sur la page d'accueil d'easy-sms pour l'ajouter. Tout d'abord, publiez notre contenu de configuration (afin de réduire le nombre de mots de l'article, ne conservez que la configuration Alibaba). :
Nous avons ajouté une configuration de canal pour différents scénarios, tels que le code de scénario de code de vérification pour faciliter la lecture de la configuration par le messager.
Ensuite, ouvrez AppServiceProvider.php et ajoutez ce qui suit dans le registre :
À ce stade, l'intégration d'EasySms dans Laravel est terminée, mais le véritable La fonction n'a pas encore été développée. Nous regardons ensuite vers le bas.
Développer le canal d'envoi de SMS
Pourquoi développer ? Tout d'abord, easy-sms prend en charge beaucoup de choses. Vous pouvez envisager de développer une classe de canal d'envoi de notifications pour chaque plate-forme d'envoi séparément, ou vous pouvez développer une seule classe de canaux d'envoi de SMS. Nous choisissons de développer une classe d'envoi de notifications SMS via easy-. Stratégie SMS. Mécanisme pour envoyer des codes de vérification à plusieurs plateformes.
Tout d'abord, créez un nouveau fichier app/Notifications/Channels/SmsChannel.php. Étant donné que Laravel ne fournit pas de fonction de génération, vous devez simplement le créer vous-même. Le contenu de SmsChannel est le suivant :
Le canal d'envoi de notifications SMS basé sur easy-sms est terminé.
Scénario de développement pour envoyer des messages
Cette partie appartient entièrement au développement easy-sms Nous créons un nouveau VerificationCodeMessage.php avec le contenu suivant. :
Ensuite, nous revenons à la classe de notification du code de vérification VerificationCode et ajoutons la méthode toSms :
Configuration de scènes, telles que des modèles pour différents canaux de codes de vérification, etc., afin que le serveur de messages puisse déterminer la configuration du scénario d'utilisation en fonction de la passerelle d'envoi. Se plaindre encore une fois, la conception du contrat d'easy-sms devrait également avoir cette idée, mais getContent/getTemplate/getData ne transmet pas du tout la passerelle lorsque la passerelle réelle est appelée. . . D'accord, notre développement est terminé.Envoyer le code de vérification
Il a été ajouté à "l'usine" lors de la création du modèle de données du code de vérification, afin que nous puissions utiliser l'usine directement Fonction, envoyez la démo : Vous avez terminé, easy-sms est un très bon package. Les codes ci-dessus proviennent tous de ThinkSNS Plus Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de contenu connexe, veuillez prêter attention au. Site Web chinois PHP ! Recommandations associées :Inscription et connexion de l'utilisateur via Laravel
En savoir plus sur le transfert d'un tableau pour l'afficher dans le framework Laravel5
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!