Download the PHP package axn/laravel-notifier without Composer

On this page you can find all versions of the php package axn/laravel-notifier. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-notifier

Laravel Notifier

Ce package vise à uniformiser, simplifier l'enregistrement et l'affichage des messages dans les interfaces web d'une application Laravel.

Cela permet d'utiliser les notifications/alertes sur de multiples projets sans avoir à implémenter à chaque fois les mêmes routines.

Attention à ne pas confondre dans Laravel les "Notifications" et les "Session Flash Data" ; ce package utilise ces dernières et n'a absolument rien à voir aux premières.

Il y a deux possibilités d’utiliser ce package pour déclarer et afficher des messages :

Les messages peuvent êtres de quatre types différents :

Mises à jour

Pour les instructions de mises à jour veuillez consulter le fichier UPGRADE.md.

Installation

Inclure le package avec Composer :

Déclaration des messages

Le point d'entré est le helper notify() qui retourne une instance de Axn\Notifier\Notify.

Les messages "flash"

Typiquement ils permettent d'afficher des confirmations après soumission d'un formulaire (et donc après redirection).

Cela correspond aux "Flash Data" de Laravel, mais en typant les messages afin de piloter plus facilement le rendu à l'écran.

Pour ajouter des messages flash, utilisez :

Par exemple :

Les messages "instantanés"

Ils permettent d'afficher un message pour transmettre une information directement sur l'écran sans redirection préalable.

Pour cela vous pouvez utiliser les fonctions now* :

Par exemple :

Les titres

Il est possible d'ajouter un second argument $title :

Sécurité et prévention des attaques XSS

Afin de permettre de mettre du HTML dans les messages, les variables $message et $title ne sont PAS échapées dans les templates.

Si vous devez mettre des données en provenance de la base de données ou saisies par les utilisateurs vous devez les échapper comme dans les exemples ci-dessus avec le helper e($string).

Sans cela c'est une faille de sécurité XSS.

Note : par contre les caractères ' et " sont remplacés par ' et "

Durée d'affichage

Certain template ont une durée d'affichage avant de disparaitre.

SI vous souhaitez modifier cette durée d'affichage pour un message, par exemple parce qu'il est long.

Il est possible d'ajouter un troisième argument $delay :

Cet argument est en millisecondes, par défaut :

A noter que sur les templates fournis par le package le temps d'affichage des erreurs sera multiplié par le nombre d'erreurs.

Multiples messages et conditionnels

Vous pouvez ajouter plusieurs messages à la suite, ainsi que les conditionner :

Note : Tous les templates ne prennent pas en charge la possibilité d'afficher plusieurs messages de type différents.

Les stacks de messages

Il est possible de déclarer des messages dans une autre stack que celle par défaut.

Ainsi vous pourrez afficher différentes piles de messages dans une même page.

Par exemple utiliser la stack par défaut pour les messages courrants et occasionellement afficher des messages complémentaires selon le contexte de la page ; et ce avec par exemple un template différent à un emplacement différent.

Cela permet de mettre la logique métier dans le controller plutôt que dans les views Blade.

Pour se faire vous devez préciser le nom de la stack au helper notify() :

Il est possible d'ajouter plusieurs messages à une même stack personnalisée :

SVP : n'utilisez jamais le nom "custom-stack", c'est ici pour l'exemple, choisissez un nom explicite selon le contexte.

Les "view shared errors"

Il est possible d'ajouter via l'application des erreurs partagées par les vues de l'application.

Typiquemenent Laravel le fait automatiquement pour les messages d'erreurs de validation.

Mais il est également possible d'en ajouter par exemle via un controlleur :

Par défaut, ces messages d'erreurs partagés par toutes les vues sont automatiquement ajoutés à la stack par défaut des messages instantanés.

Retrouver les messages

Il vous est possible de retrouver les messages "flash" et/ou "instantanés" sous forme de Collecetion Laravel.

Retrouver les messages de la stack par défaut :

Ou ceux d'une stack personnalisée :

Cela peux vous permettre de manipuler le contenu des messages grâce aux collections Laravel.

Ou réaliser des opérations particulières selon la présence ou non de messages.

Par exemple si vous n'utilisez que des messages conditionnels et vous souhaitez déclencher une action si il y a effectivement des messages :

Affichage des messages

Le component

Pour afficher les messages vous devez utiliser le component Blade fournit par le package :

Selon le template de vue utilisé vous devez placer cet appel au bon endroit.

Par exemple pour un template qui utilise un composant Javascript vous devez le placer après les scripts de l'application.

A l'inverse si vous utilisez un template qui affiche directemet une vue vous devrez le placer là où vous souhaitez afficher les messages.

Les attributs

Ce component prendra par défaut les valeurs de la configuration du package mais vous pouvez les modifier en passant des attributs au component.

Il est également possible de piloter différents aspects de l'affichage des messages.

Template

Pour changer de template :

Cela peut-être utile par exemple pour afficher un template différent selon que vous êtes sur la partie publique ou la partie admin. Ou encore un template différent selon les stacks affichées.

Affichage d'une stack donnée

Si vous avez déclaré des messages dans une stack différente de celle par défaut et souhaitez afficher ses messages :

Tri des messages selon leurs types

Par défaut les messages sont triés selon leurs types mais vous pouvez changer cela :

Les messages apparaîtront alors dans l'ordre de leur déclaration quelque soit leur type.

Note :

Si vous n'utilisez pas cet attribut et laissez donc le tri selon le type, l'ordre d'affichage des types est définit dans le fichier de configuration (sort_type_order). Par défaut :

Regroupement des messages par types

Par défaut chaque message déclenche une notification distincte. Il est possible de regrouper les messages selon leurs types :

Ainsi, si par exemple vous avez 3 erreurs de validation, elles apparaitrons toutes dans une seule et même notification plutôt que dans 3 notifications distinctes.

Mise en forme des messages regroupés

Les messages regroupés ont un format prédéfinit dans le fichier de configuration du package :

Notez l'utilisation des classes Bootstrap sur la liste...

Ce qui donne par exemple :

Il est possible de changer ces formats de façon globale en modifiant la configuration du package. Il n'est cependant pas possible de les modifier au niveau du component.

Messages à afficher

Parfois vous pouvez avoir besoin de n'afficher qu'une seule sorte de messages (flash ou instantanés).

Pour ne pas afficher les messages flash :

Pour ne pas afficher les messages intantanés :

Par exemple pour afficher un template différent selon que ce sont des messages instantanés ou des messages flash.

View shared errors

Ces messages sont systématiquement affichés dans la stack par défaut et dans les messages instantanés.

Si vous ne souhaitez pas afficher ces erreurs via le notifier, vous pouvez ajouter au component de la stack par défaut :

A vous alors de gérer l'affichage de ces messages.

Combinaisons

Tous ces attributs peuvent êtres combinés selon les besoins :

Templates de vues

Le package fournis actuellement les templates de vues suivants :

bootstrap-5

Affiche les messages dans de simples paragraphes aux couleurs du type.

Bootstrap 5 est évidement requis.

L'appel du component est à placer là où vous souhaitez que les messages apparaissent.

Note : Il n'est pas possible de grouper les messages par type avec cette vue.

bootstrap-5-toast

Affiche les messages dans des components toasts de Bootstrap 5.

Bootstrap 5 est évidement requis ainsi que les styles et le plugin JS du component.

L'appel du component d'affichage est à placer après l'appel des scripts de l'application.

bootstrap-5-alert

Affiche les messages dans des components alerts de Bootstrap 5.

Bootstrap 5 est évidement requis ainsi que les styles du component.

L'appel du component est à placer là où vous souhaitez que les alerts apparaissent.

bootstrap-5-alert-advanced

C'est une extension du précédent qui ajoute une icone et le bouton pour fermer l'alert.

Il est donc nécessaire d'avoir dans votre projet le plugin JS des alerts Bootstrap.

L'appel du component est à placer là où vous souhaitez que les alerts apparaissent.

bootstrap-4

Affiche les messages dans de simples paragraphes aux couleurs du type.

Bootstrap 4 est évidement requis.

L'appel du component est à placer là où vous souhaitez que les messages apparaissent.

Note : Il n'est pas possible de grouper les messages par type avec cette vue.

bootstrap-4-toast

Affiche les messages dans des components toasts de Bootstrap 4.

Bootstrap 4 est évidement requis ainsi que les styles et le plugin JS du component.

L'appel du component d'affichage est à placer après l'appel des scripts de l'application.

bootstrap-4-alert

Affiche les messages dans des component alerts de Bootstrap 4.

Bootstrap 4 est évidement requis ainsi que les styles du component.

L'appel du component est à placer là où vous souhaitez que les alerts apparaissent.

bootstrap-4-alert-advanced

C'est une extension du précédent qui ajoute une icone fontawesome5 et le bouton pour fermer l'alert.

Il est donc nécessaire d'avoir dans votre projet fontawesome4 et le JS de base de Bootstrap 4.

L'appel du component est à placer là où vous souhaitez que les alerts apparaissent.

sweetalert2

Aussi élégant visualement soit-il sweetalert2 ne permet pas d'afficher plusieurs instances dans une même page, seule la première sera affichée (c'est en fait une sorte de modal).

Vous ne pouvez donc pas déclarer plusieurs messages de différents types, aussi si vous utilisez cette vue les messages seront automatiquement groupés par type.

S'il n'est pas présent, installez-le :

Et ajoutez le à vos fichiers JS :

Toute la configuration de l'affichage est dans le template. Si vous souhaitez le modifier vous devez publier le template, et vous référer à sa documentation.

L'appel du component d'affichage est à placer après l'appel des scripts de l'application.

pnotify-5

Même si ce package offre de nombreuses possibilités il est vieillissant et n'est plus vraiment maintenu ; aussi il requière jQuery.

Pour ces raisons, bien que ce soit notre "standard" depuis de nombreuses années, je recommande de le remplacer par une autre solution plus moderne.

Nous le maintenons quand même car de nombreux projets l'utilisent encore.

Ci-dessous un exemple d'installation, pour plus de détail veuillez vous référer à la documentation du package https://github.com/sciactive/pnotify

S'il n'est pas présent, installez-le :

Ajoutez les CSS, par exemple :

Chargez les modules, par exemple :

Et une configuration par défaut, par exemple :

L'appel du component d'affichage est à placer après l'appel des scripts de l'application.

Personnalisation des templates

Il vous est possible de personnaliser les templates de vue fournis par le package en les publiants avec cette commande :

Elles seront alors copiées dans resources/views/vendor/notifier et automatiquement chargées par l'application.

Astuce : Ne remplacez que les fichiers de vues que vous personnalisez, les autres seront chargées depuis le package.

Création d'un template personnalisé

Si vous souhaitez utiliser une librairie JS non implémentée de base dans le package ou simplement mettre en forme des messages avec du simple HTML, vous avez la possibilité de créer vos propres templates.

Pour commencer, créez votre propre vue Blade pour le component, par exemple : /resources/views/components/custom-notify.blade.php

Pour l'utiliser précisez son utilisation lors de l'affichage, par exemple :

Ou définissez-la comme vue par défaut dans le fichier de configuration.

SVP : n'utilisez jamais le nom "custom-notify", c'est ici pour l'exemple, choisissez un nom explicite selon votre implémentation personnalisée.

Évidement, vous aurez la possibilité d'utiliser tous les attributs du component <x-notify /> comme vu au chapittre "Affichage des messages".

Dans votre nouvelle vue, vous aurez alors accès aux variables publiques du component :

Il conviendra alors de boucler sur les messages :

Dans ces boucles, les variables $flashMessage et $nowMessage sont des tableaux qui contiennent les valeurs suivantes :

A ce stade la bonne idée c'est de créer une partial afin de mutualiser votre code, par exemple : /resources/views/components/partials/custom-notify-message.blade.php

Et donc dans la vue du component :

Si vous n'avez pas besoin de modifier le code ci-dessus vous pouvez utiliser la vue component générique :

Maintenant il ne vous reste "plus qu'à" implémenter la vue du message components/partials/custom-notify-message.blade.php.

Dans celle-ci vous aurez accès aux variables suivantes :

Et là c'est à vous de jouer :)

Mutualisons : Si vous implémentez un template réutilisable nous pourront envisager de l'intégrer au package plutôt que de le copier/coller entre différents projets.

Ci-dessous quelques idées.

Idées de template à créer et à ajouter

Notiflix

Toastify JS

JS-Snackbar

VanillaToasts

Notyf

simple-notify

Configuration

Ce package fournit un fichier de configuration.

Consultez ce fichier pour voir ce que vous pouvez modifier, chacunes des options est documentée.

Les valeurs de ce fichier sont accessibles de cette façon : config('notifier.option')option est la clé du tableau de configuration.

Afin de personnaliser la configuration, vous devez publier le fichier dans votre application en exécutant la commande suivante :

Le fichier sera alors copié dans config/notifier.php et automatiquement chargé par l'application.

Astuce : ne mettez dans ce fichiers que ce que vous modifiez, le reste sera fusionné depuis le package.


All versions of laravel-notifier with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel/framework Version ^10.0 || ^11.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package axn/laravel-notifier contains the following files

Loading the files please wait ....