Développer et distribuer des packages personnalisés pour Laravel
Jul 11, 2025 am 01:35 AMLes packages Laravel sont créés en créant une structure appropriée, en écrivant des fournisseurs de services, en distribuant via le compositeur et en évitant les pièges courants. Tout d'abord, créez un répertoire avec un compositeur.json pour la mise en scène et l'intégration de Laravel. Deuxièmement, créez la logique de base dans SRC / et enregistrez-la via un fournisseur de services à l'aide de méthodes Register () et boot (). Troisièmement, distribuez via Packagist en marquant les versions et en soumettant à GitHub. Enfin, testez les étapes d'installation, utilisez correctement PSR-4, évitez les chemins codés en dur et exécutez toujours le député compositeur-autoload après les modifications.
Laravel est un puissant cadre PHP, et l'une de ses forces réside dans la facilité avec laquelle vous pouvez l'étendre à l'aide de packages personnalisés. Si vous avez construit quelque chose de réutilisable - comme une intégration de service, un ensemble d'aides ou une fonctionnalité spécifique que vous souhaitez réutiliser sur les projets - l'emballage est logique. Voici comment le faire efficacement.

Configuration de votre structure de colis
Avant de sauter dans le code, vous avez besoin d'une structure appropriée pour votre package. Laravel utilise le compositeur pour gérer les dépendances, donc votre package doit suivre les normes des compositeurs.

Vous commencerez généralement par créer un nouveau répertoire en dehors de votre projet Laravel (ou packages
à l'intérieur si vous gardez tout ensemble). à l'intérieur de ce dossier, créez les fichiers de base:
-
composer.json
- Cela définit les métadonnées de votre package. -
src/
- où vit votre code réel. - Facultatif: tests, config, migrations, etc.
Un composer.json
minimal.json pourrait ressembler à ceci:

{ "nom": "votre nom / laravel-package", "Autoload": { "psr-4": { "Yourname \\ yourpackage \\": "src /" } }, "supplémentaire": { "Laravel": { "fournisseurs": [ "Yourname \\ yourpackage \\ yourpackageServiceProvider" ]] } } }
Cela met en place un acte de mise en scène et indique à Laravel quel fournisseur de services à utiliser lorsque le package est installé.
écrire la logique de base et le fournisseur de services
Le c?ur de tout forfait Laravel est généralement un fournisseur de services . C'est là que vous enregistrez des liaisons, publiez des fichiers de configuration et vous intégrez au c?ur de Laravel.
Disons que vous construisez un utilitaire de journalisation. Vous auriez une classe comme Logger.php
dans votre dossier src/
, puis dans la méthode register()
de votre fournisseur de services, vous pouvez le lier:
Utilisez votre nom \ yourpackage \ logger; Registre des fonctions publiques () { $ this-> app-> singleton (logger :: class, function ($ app) { return nouveau logger (config ('yourpackage.log_level')); }); }
De plus, si vous avez besoin de configuration, publiez-la depuis le fournisseur de services:
Boot de fonction publique () { $ this-> publie ([[ __Dir __. '/ .. / config / yourpackage.php' => config_path ('yourpackage.php'), ], 'config'); }
Cela permet aux utilisateurs d'exécuter php artisan vendor:publish
et personnaliser les paramètres.
Distribution de votre colis via le compositeur
Une fois que votre colis fonctionne localement, vous voudrez probablement le partager. Le moyen le plus simple est de packagist , qui s'intègre directement au compositeur.
Voici quoi faire:
- Assurez-vous que votre
composer.json
a un versioning correct ("version": "1.0.0"
ou utilisez des balises). - Poussez votre package vers GitHub (ou un autre repo Git).
- Soumettez votre référentiel à Packagist ou utilisez des crochets automatiques.
- Rejets de balise à l'aide de balises git (
git tag 1.0.0 -m "Initial release"
).
Après cela, n'importe qui peut installer votre colis avec:
Le compositeur a besoin de votre nom / laravel-package
Si vous ne souhaitez pas encore publier publiquement, vous pouvez toujours le tester localement en pointant le compositeur vers un chemin:
Dans composer.json
de votre application Laravel.json:
{ "Référentiels": [ { "type": "chemin", "URL": "../path-to-your-package" } ]] }
Ensuite, exécutez composer require yourname/laravel-package --prefer-source
.
Gotchas et conseils communs
Il y a quelques choses que les gens manquent souvent lors du développement de forfaits Laravel:
- ? Testez toujours les étapes d'installation fra?ches - supprimez
vendor/
et réinstallez pour simuler une véritable expérience utilisateur. - ? Utilisez correctement PSR-4 - des espaces de noms et des chemins incompatibles provoquent la plupart des problèmes de mise à jour.
- ? Ne pas coder les chemins - utilisez plut?t
__DIR__
oudirname(__FILE__)
. - ? Envisagez d'ajouter la compatibilité de Laravel Octane si vous vous attendez à une utilisation élevée de performances.
- ? Soyez prudent avec les fa?ades - ils fonctionnent mais peuvent rendre les tests plus difficiles.
- ? Incluez une lecture avec des instructions claires sur l'installation et l'utilisation.
Une chose qui fait trébucher les gens est d'oublier de faire fonctionner composer dump-autoload
après des modifications - surtout lorsque vous travaillez localement. Il est facile de penser que vos modifications ne fonctionnent pas quand vraiment, le compositeur n'a tout simplement pas rechargé la carte des classes.
Fondamentalement, le développement et la distribution de packages Laravel se résument aux pratiques de compositeur standard suivantes et à tirer parti du système de fournisseur de services de Laravel. Une fois que vous avez bien obtenu la structure, le reste coule assez naturellement.
Aucune magie impliquée - juste une bonne organisation et une attention aux détails.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à 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

Inlaravel, Politicys organisationAutorizationLogicFormodelactions.1.PoliciesAreclasseswithMethodsLikeView, Create, Update etdeleTeTeTrueTrueorfalSebaseDonUserperMissions.2.ToregisterApolicy, MaptheModeltOtspolicyInThes.2.

Pour créer de nouveaux enregistrements dans la base de données à l'aide d'éloquente, il existe quatre méthodes principales: 1. Utilisez la méthode de création pour créer rapidement des enregistrements en transmettant le tableau d'attribut, tels que l'utilisateur :: Create (['name' => 'Johndoe', 'email' => 'John@example.com']); 2. Utilisez la méthode de sauvegarde pour instancier manuellement le modèle et attribuer des valeurs pour enregistrer une par une, ce qui convient aux scénarios où une affectation conditionnelle ou une logique supplémentaire est requise; 3. Utilisez FirstOrCreate pour trouver ou créer des enregistrements en fonction des conditions de recherche pour éviter les données en double; 4. Utilisez UpdateorCreate pour trouver des enregistrements et mettre à jour, sinon, créez-les, ce qui convient au traitement des données importées, etc., qui peuvent être répétitives.

Oui, YouCaninstallLaravelonanyOperatingSystemByfollowingTheSesteps: 1. InstallphpanDrequedExtensionsLikembstring, OpenSSL etxmlusingToolsLILLOxAmPonWindows, HomebrewonMacos, oraptonlinux; 2.InstallPoser, usinganinstalleronwindowswordrsormialCommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowswordrsormiralcommandonmacer, usinganinstalleronwindowsterminbcommandonson

La définition d'une méthode (également connue sous le nom d'action) dans un contr?leur est de dire à la demande quoi faire lorsque quelqu'un visite une URL spécifique. Ces méthodes traitent généralement les demandes, traitent les données et renvoient des réponses telles que les pages HTML ou JSON. Comprendre la structure de base: la plupart des cadres Web (tels que RubyOnRails, Laravel ou SpringMVC) utilisent des contr?leurs pour regrouper les opérations liées. Les méthodes de chaque contr?leur correspondent généralement à un itinéraire, c'est-à-dire le chemin d'établissement d'URL auquel quelqu'un peut accéder. Par exemple, il peut y avoir les méthodes suivantes dans PostController: 1.Index () - Afficher la liste des postes; 2.Show () - Afficher les messages individuels; 3.Create () - gérer la création de nouveaux messages; 4.U

Le r?le principal du contr?leur dans Laravel est de traiter les demandes HTTP et de retourner les réponses pour garder le code soigné et maintenable. En concentrant la logique de demande pertinente dans une classe, le contr?leur simplifie le fichier de routage, tel que la mise en ?uvre de l'affichage du profil utilisateur, de l'édition et de la suppression des opérations dans différentes méthodes d'utilisation UserController. La création d'un contr?leur peut être implémentée via la commande artisan phartisanmake: ControllerSerController, tandis que le contr?leur de ressource est généré à l'aide de l'option --Resource, couvrant les méthodes pour les opérations de crud standard. Ensuite, vous devez lier le contr?leur dans l'itinéraire, comme Route :: get ('/ user / {id

Laravel permet des vues d'authentification personnalisées et de la logique en rempla?ant le stub et le contr?leur par défaut. 1. Pour personnaliser la vue d'authentification, utilisez la commande phPartisanVendor: publish-tag = laravel-auth pour copier le modèle de lame par défaut dans le répertoire Ressources / vues / auth et modifier, tels que l'ajout de la case "Termes d'utilisation". 2. Pour modifier la logique d'authentification, vous devez ajuster les méthodes de registreController, LoginController et ResetPasswordContrller, telles que la mise à jour de la méthode Validator () pour vérifier le champ ajouté, ou réécrire R

LaravelprovidesRobustToolsForvalidateFormData.1.Assure de la basicValidationCanbedOneusingTheValidate () MethodinControllers, garantissant à la manière

TomockDependcesvelysEffectivelyInLaravel, UsedPedencyInjectionForServices, devrait-onceive () forfacades, andmockeryforcomplexcases.
