Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Laravel 5
Code

Que sont les Packages de Laravel?

Difficulty:IntermediateLength:ShortLanguages:

French (Français) translation by Frédéric Arijs (you can also view the original English article)

En tant que développeur PHP, vous êtes intéressé de travailler avec des frameworks. Les frameworks tendent à rendre le procéder de développement plus facile en simplifiant les besoins les plus courant de la majorité des projets web grâce au packages, modules, plug-ins et même des composants (CakePHP).

Peut-être que pendant le développement, vous avez l'impression de réinventer sans cesse la roue, par exemple en créent un système d'authentification ou un Captcha. Dans ce cas, vous devez créer un package qui simplifiera et rendra votre développement plus rapide et facile.

Il y a deux types de packages: certains sont indépendant du framework (autonome) et d'autres sont spécifiques à un framework. Cet article va couvrir exclusivement les packages pour Laravel.

Avant de créer un package vous devez en savoir plus sur le outils de gestion des packages (package manager). PEAR est un package manager bien connu en PHP, mais qui est rarement utilisé. Pourquoi? Il force l'installation des packages au niveau du système et non pas uniquement pour votre projet. Composer est devenu le successeur de PEAR.

Que sont les packages de Laravel?

L'un des paramètres pour faire évoluer la puissance d'un framework est la façon dont les développeurs redistribuent des packages utiles. Ceci permet aux développeurs de construire des applications grâce à plusieurs packages plus petits.

En effet, les packages offrent une bonne façon de grouper du code apparenté. Les packages sont très similaires aux "Composants". Il est important de noter que le code source de Laravel est un "package", que Taylor Otwell appel le DEFAULT_BUNDLE.

Un grand avantage des packages de Laravel est qu'ils ont accès à toutes les fonctionnalités que le framework offre à l'application, comme les routes, les migrations, les tests, les vues et nombres d'autres. Un autre avantage important du package est l'approche DRY (Don't Repeat Yourself - Ne vous répétez pas). En créant un package pour du code que vous utilisez souvent, vous gagnez du temps et améliorez les performances de l'application.

Maintenant, laissez moi vous présenter quelques packages de Laravel utiles. Les packages que j'ai utilisé sont entre autres:

  • Generators: une des choses que j'aimais dans CakePHP était sa fonctionnalité de génération de code Bake. C'est ce que j'ai trouvé de plus proche dans n'importe quel autre framework.
  • Ardent: modèle intelligent auto-validé pour l'ORM Eloquent.
  • IDE helper: ce package tente de corrigé le problème d'auto-complétion dans PhpStorm en créant fichier d'aide dockblock duquel l'IDE peut trouver la bonne définition.
  • Sayakb: pour générer un captcha.
  • Behat: une solution pour tester votre application en utilisant les principes BDD.
  • Artdarek: un bon wrapper pour OAuth.
  • Mcamara: traduction i18n facile pour votre application Laravel.

Vous pouvez trouver les packages dont vous avez besoin sur packalyst. Packalyst est un simple registre des packages Laravel, avec un côté social.

Comment construire votre propre package Laravel

Créons un simple package d'authentification pour Laravel 5.0. Pour cela, nous avons besoin d'un fichier composer.json pour notre nouveau package:

La classe Service Provider est simplement le fichier qui met tout en place pour le package. Voici à quoi doit ressembler le Service Provider à ce moment, dans src/MyAuthServiceProvider.php:

Ajoutez le service provider à config/app.php:

Maintenant Laravel a connaissance du package. Vous pourriez vous demander à propos des "alias" et pourquoi je ne l'ajoute pas à mon app.php. Personnellement, j'ajoute l'alias à la méthode register du service provider plutôt que de l'ajouter manuellement dans le fichier de configuration de Laravel. J'y reviendrai plus tard. Maintenant créez un simple classe PHP MyAuth dans src/MyAuth.php:

La classe d'authentification doit être attachée avec l'IoC Container de Laravel au service provider du package. Avant ça, créez une classe de Facade qui nous permettra d'utiliser les méthodes de la classe dans avoir besoin d'une instance, ainsi que d'autres bénéfice dont on a parler plus tôt. Comme la classe MyAuth a créer le nouveau répertoire Facades dans le dossier Facades, créez une nouvelle classe PHP et appelez la src/MyAuthFacade.php:

Après cela, la seule chose qui reste est d'initialiser le package. Le mien ressemble à ceci:

Comme vous pouvez le voir, j'ai lié la classe MyAuth au IoC Container. Maintenant il est facile d'utiliser la classe MyAuth:

Cela doit générer le message, Welcome log-in succeeded. Si vous le souhaitez, vous pouvez enregistrer votre package sur Packagist. Le package MyAuth est maintenant enregistrer et peut aisément être inclus à Laravel avec la commande Composer: composer require "alireza/myauth".

Conclusion

Si vous cherchez un exemple d'un package populaire et mature de Laravel, vous pouvez regarder TerranetAdmin pour Laravel.

Ceci était une courte introduction à comment créer un package pour Laravel 5. Comme vous l'avez vu, créer un package est facile, et peut être un outil important pour simplifier et accelérer le développement.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.