Het NextPDF Laravel-pakket installeren
In een oogopslag
Sectie met titel “In een oogopslag”Installeer nextpdf/laravel met Composer. De Laravel-auto-discovery registreert de service provider voor u. Publiceer het configuratiebestand wanneer u het wilt aanpassen. Het pakket detecteert optionele NextPDF-extensies automatisch.
Installeren
Sectie met titel “Installeren”composer require nextpdf/laravelHet pakket declareert de volgende constraints in zijn composer.json:
| Vereiste | Beperking |
|---|---|
| PHP | >=8.4 <9.0 |
laravel/framework | ^12.0 |
nextpdf/core | ^3.0 || ^5.2 |
psr/http-client | ^1.0 |
Het pakket wordt automatisch geladen via één PHP Standard Recommendation 4 (PSR-4)-map. Het voorvoegsel NextPDF\Laravel\ wordt gekoppeld aan src/Laravel/. Dit volgt de PSR-4-regel voor de koppeling tussen voorvoegsel en basismap (PSR-4 §3).
Conceptueel overzicht
Sectie met titel “Conceptueel overzicht”Nadat u composer require hebt uitgevoerd, leest de package auto-discovery van Laravel het blok extra.laravel in de composer.json van dit pakket. Vervolgens registreert Laravel de provider en de facade-alias voor u, zodat u config/app.php niet handmatig hoeft te bewerken. Het blok ziet er als volgt uit:
{ "extra": { "laravel": { "providers": [ "NextPDF\\Laravel\\NextPdfServiceProvider" ], "aliases": { "Pdf": "NextPDF\\Laravel\\Facades\\Pdf" } } }}De pakketdocumentatie van Laravel licht dit gedrag toe. De array extra.laravel.providers registreert service providers automatisch en de array extra.laravel.aliases registreert facade-aliassen automatisch (Laravel 12 package development guide,
https://laravel.com/docs/12.x/packages, geraadpleegd op 2026-05-18).
Codevoorbeeld — Snelstart
Sectie met titel “Codevoorbeeld — Snelstart”Gebruik de tag nextpdf-config om het configuratiebestand te publiceren. Deze tagnaam is gedefinieerd in NextPdfServiceProvider::boot().
php artisan vendor:publish --tag=nextpdf-configDit schrijft config/nextpdf.php naar uw applicatie. Tijdens register() voegt de provider ook de standaardconfiguratie van het pakket samen onder de sleutel nextpdf, zodat het pakket al werkt voordat u publiceert. Door te publiceren wordt het bestand bewerkbaar in uw applicatie.
Bevestig dat Laravel de provider heeft gedetecteerd:
php artisan package:discover --ansiCodevoorbeeld — Productie
Sectie met titel “Codevoorbeeld — Productie”Zet de constraint vast voor reproduceerbare deployments. Schakel discovery alleen expliciet uit als u de provider zelf registreert:
{ "extra": { "laravel": { "dont-discover": [ "nextpdf/laravel" ] } }}Wanneer discovery is uitgeschakeld, registreert u de provider zelf in bootstrap/providers.php:
<?php
declare(strict_types=1);
return [ App\Providers\AppServiceProvider::class, NextPDF\Laravel\NextPdfServiceProvider::class,];Optionele extensies
Sectie met titel “Optionele extensies”Het pakket vermeldt optionele aanvullende pakketten onder suggest in zijn composer.json. Het detecteert geïnstalleerde aanvullende pakketten tijdens runtime:
| Pakket | Effect bij installatie | Detectiepunt |
|---|---|---|
nextpdf/artisan | De configuratie van de Chrome DevTools Protocol (CDP) Hypertext Markup Language (HTML)-renderer wordt toegepast op de document-binding wanneer er een Chrome factory-klasse aanwezig is | NextPdfServiceProvider::register() controleert op de Chrome browser-factory-klasse |
nextpdf/premium | De bestaande container-sleutels verwijzen naar de concrete implementaties voor PDF Advanced Electronic Signatures (PAdES B-B)-ondertekening, PDF/A-archivering en e-factuurcontracten | lazy herleid bij de eerste container-resolutie |
Installeer een extensie op dezelfde manier:
composer require nextpdf/artisanVerdere koppeling is niet nodig. De provider detecteert de extensie tijdens de volgende registratiecyclus.
Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- Publiceren is idempotent. Het overschrijft geen bestaande
config/nextpdf.php. Voeg--forcetoe wanneer u het bestand bewust wilt overschrijven. - De provider is uitgesteld, dus een geslaagde
php artisan package:discoveris voldoende om het pakket te bevestigen. De bindings zelf verschijnen pas bij de eerste resolutie. - Het pakket ondersteunt
nextpdf/coreop zowel de^3.0- als de^5.2-hoofdlijn. Stem de core-constraint af op de lijn die uw applicatie vastzet. Het Laravel-adapteroppervlak is op beide hetzelfde. - De README-badge en
composer.jsonkomen overeen op Apache-2.0. Het pakket is opnieuw gelicentieerd vanaf LGPL-3.0-or-later. Versies die vóór de migratie zijn getagd, blijven onder de voorgaande licentie (zieCHANGELOG.md).
Prestaties
Sectie met titel “Prestaties”Het resolven van nextpdf/core bepaalt grotendeels de kosten van composer require. Het registreren van de provider voegt geen meetbare bootkosten toe, omdat alle bindings uitgestelde closures zijn. Zie /integrations/laravel/boot-and-discovery/ voor de constructiekosten bij de eerste resolutie.
Beveiligingsnotities
Sectie met titel “Beveiligingsnotities”Installeer vanuit het canonieke Packagist-pakket nextpdf/laravel. Het pakket bevat Software Package Data Exchange (SPDX) REUSE-headers en een Apache-2.0 NOTICE-bestand. Zet de constraint vast in composer.json en commit composer.lock, zodat gedeployede workers de geverifieerde dependency-boom resolven.
Conformiteit
Sectie met titel “Conformiteit”| Bewering | Bron | Clausule | reference_id |
|---|---|---|---|
| PSR-4-voorvoegsel wordt toegewezen aan basismap | PSR-4 Autoloader | §3 |
De namen van de Laravel auto-discovery-sleutels zijn geverifieerd aan de hand van de officiële Laravel 12-documentatie over pakketontwikkeling (https://laravel.com/docs/12.x/packages, geraadpleegd op 2026-05-18).
Commerciële context
Sectie met titel “Commerciële context”nextpdf/premium voegt concrete implementaties voor ondertekening, PDF/A en e-facturen toe als optionele Enterprise-functionaliteit. U kunt het gebruiken zonder het hier gedocumenteerde Core-pakket te wijzigen. Zie https://nextpdf.dev/get-license/?intent=laravel-signing.
Zie ook
Sectie met titel “Zie ook”- /integrations/laravel/overview/ — pakketarchitectuur en bindingstabel
- /integrations/laravel/quickstart/ — eerste uitvoerbare controller
- /integrations/laravel/configuration/ — elke configuratiesleutel uitgelegd
- /integrations/laravel/boot-and-discovery/ — interne werking van discovery en levensduur van bindings