Developpez.com

Le Club des Développeurs et IT Pro

Le framework PHP Laravel passe en version 5.3 et facilite la diffusion des notifications

Ainsi que les implémentations serveurs OAuth2

Le 2016-08-24 22:23:27, par Stéphane le calme, Chroniqueur Actualités
L’équipe de développeurs derrière le framework PHP Laravel a annoncé la disponibilité générale de la version 5.3. Cette version s’accompagne d’une nouvelle fonctionnalité pour simplifier l’envoi de courriel : la classe « mailable » qui gère la configuration de vos mails. Dans Laravel 5.2, lorsque vous voulez effectuer l’envoi d’un courriel, il vous fallait typiquement passer comme ceci.

Code PHP :
1
2
3
4
Mail::send('emails.reminder', ['user' => $user], function ($m) use ($user) { 
    $m->from('hello@app.com', 'Your Application'); 
    $m->to($user->email, $user->name)->subject('Your Reminder!'); 
});


Désormais, avec Laravel 5.3, vous pouvez simplifier l’écriture en vous servant de votre classe « mailable » comme suit

Code PHP :
php artisan make:mail YourReminder

Toutes les configurations nécessaires sont faites dans la méthode build dans laquelle vous pouvez définir par exemple l’expéditeur, le sujet, les pièces jointes, etc. comme ceci :

Code PHP :
1
2
3
4
5
public function build() 
{ 
    return $this->from('example@example.com') 
        ->view('emails.reminder'); 
}

Une fois vos configurations effectuées, à chaque fois que vous voulez envoyer ce courriel, il vous suffit de faire cet appel :

Code PHP :
Mail::to($email)->send(new YourReminder);

En plus de cela, Laravel 5.3 permet d’envoyer rapidement des notifications sur une variété de canaux comme les courriels, les SMS (via Nexmo), Slack, etc. Il est possible de sauvegarder des notifications dans une base de données pour les afficher sur une interface web.

En règle générale, les notifications doivent être courtes, ce sont des messages qui vont informer les utilisateurs s’il y a un évènement dans votre application. Par exemple, si vous écrivez une application de facturation, vous pouvez envoyer une notification « facture payée » aux utilisateurs via un courriel et/ou un SMS.

S’il était déjà possible de faire usage d’un système de diffusion dans les versions précédentes, Laravel 5.3 améliore cette fonctionnalité du framework en ajoutant l'authentification au niveau du canal pour des canaux websockets privés et de présence grâce à Laravel Echo, un paquet JavaScript installable via NPM qui fournit une API facilitant une interaction avec les websockets. Echo embarque un support de Pusher et Socket.io. En plus de souscrire à des canaux traditionnels, Laravel Echo simplifie également l’abonnement à des canaux de présence qui fournissent des informations au sujet de qui est à l'écoute sur un canal donné :

Code PHP :
1
2
3
4
5
6
7
8
9
10
Echo.join('chat.' + roomId) 
    .here((users) => { 
       // 
    }) 
    .joining((user) => { 
        console.log(user.name); 
    }) 
    .leaving((user) => { 
        console.log(user.name); 
    });

Cette version apporte également Laravel Passport, un outil qui simplifie l’authentification API en fournissant une implémentation serveur complète OAuth2 pour vos applications Laravel en quelques minutes. Passport est un paquet qui vous permet entre autres de définir vos composants Vue.js pour la génération de tokens, la révocation de tokens, permettre aux utilisateurs de créer des clients et bien plus encore.

Laravel Scout pour sa part propose une solution simple pour ajouter la recherche de texte dans vos modèles Eloquent. En se servant d’observateurs de modèles, Scout va automatiquement garder vos index de recherches synchronisés avec vos enregistrements Eloquent.

Source : Notes de version
  Discussion forum
1 commentaire
  • Metrogeek
    Membre à l'essai
    C'est une mise à jour majeure, même si elle n'est pas taguée pour. 2 à 3h de mise à jour sont à prévoir de base, donc selon la taille du projet, ça risque de s'allonger.

    Avec les notifications, Taylor continue dans la logique des objets Request, Console etc, c'est vraiment appréciable.

    La mise en forme d'un mail peut être ultra rapide, même si j'ai un peu de doute sur la capacité d'un système comme ça à être vraiment customisable. Bons dans tous les cas rien n'empêche de passer à côté, et pour démarrer un projet, ça rend les choses ultra simples.

    Pour Scout, c'est pour l'instant uniquement dispo pour Agolia, on va voir si le driver pour ElasticSeach sera dispo rapidement.