Ga naar inhoud

De NextPDF Symfony-bundle installeren

Installeer de bundle met Composer. Als uw applicatie Symfony Flex gebruikt, wordt de bundle automatisch geregistreerd. Zonder Flex registreert u deze eenmalig in config/bundles.php.

De composer.json van de bundle legt de volgende beperkingen vast.

AfhankelijkheidBeperking
php>=8.4 <9.0
nextpdf/core^3.0 || ^5.2
symfony/framework-bundle^7.2
symfony/dependency-injection^7.2
symfony/config^7.2
symfony/http-foundation^7.2
psr/log^3.0

De bundle controleert tijdens het bouwen van de container ook twee PHP-extensies: ext-mbstring en ext-zlib. In elke ondersteunde PHP-runtime zijn beide ingeschakeld. Als een van beide extensies ontbreekt, mislukt de controle direct met een duidelijke melding.

De composer.json van de bundle vermeldt deze pakketten onder suggest. Voeg ze toe wanneer u het gedrag nodig hebt dat ze bieden:

PakketVoegt toe
nextpdf/artisanHTML-weergave via Chrome CDP, automatisch gedetecteerd tijdens het compileren
nextpdf/premiumPDF/A-archivering en digitaal ondertekenen (installeert de Pro-laag), automatisch gedetecteerd tijdens het compileren
symfony/messengerAsynchrone PDF-generatie via de Messenger-handler
Terminal window
composer require nextpdf/symfony

De bundle wordt automatisch geladen onder de PHP Standard Recommendation 4 (PSR-4)-prefix NextPDF\Symfony\, gekoppeld aan src/Symfony/. Deze koppeling staat gedeclareerd in composer.jsonautoload.psr-4. De door Composer gegenereerde autoloader koppelt de namespace-prefix aan die basismap, zoals gedefinieerd in PSR-4 §2.

De bundle bevat een vermelding voor automatische registratie in composer.json:

{
"extra": {
"symfony": {
"bundles": {
"NextPDF\\Symfony\\NextPdfBundle": "all"
}
}
}
}

In een applicatie met Flex voegt deze vermelding de bundle toe aan config/bundles.php voor elke omgeving (all). U hoeft het bestand niet handmatig te bewerken. Raadpleeg de officiële Symfony-bundeldocumentatie (https://symfony.com/doc/current/bundles.html) voor het registratiemodel.

Als uw applicatie Symfony Flex niet gebruikt, voegt u de bundle zelf toe aan config/bundles.php:

return [
// ... other bundles
NextPDF\Symfony\NextPdfBundle::class => ['all' => true],
];

De bundle-klasse is NextPDF\Symfony\NextPdfBundle. Deze breidt de Symfony-basisklasse Symfony\Component\HttpKernel\Bundle\Bundle uit. De getPath()-methode van de bundle retourneert de pakketroot. De build()-methode registreert de compilerpass OptionalExtensionPass.

De configuratie-alias van de bundle is nextpdf. Maak config/packages/nextpdf.yaml aan. Zodra er een Flex-recipe is gepubliceerd, voegt het hier een standaardkopie voor u toe. Een minimaal bestand dat volledig op de ingebouwde standaardwaarden vertrouwt, ziet er zo uit:

nextpdf: ~

Elke sleutel heeft een standaardwaarde; daarom is een lege configuratie geldig. De volledige configuratieboom staat op /integrations/symfony/configuration/.

Controleer dat de container de services van de bundle kan zien:

Terminal window
php bin/console debug:container nextpdf

U zou services met de alias nextpdf.document en NextPDF\Symfony\Service\PdfFactory moeten zien. Voer het volgende uit om de opgeloste configuratie te inspecteren:

Terminal window
php bin/console debug:config nextpdf

Deze opdracht drukt de samengevoegde configuratieboom af: uw overschrijvingen plus de standaardwaarden.

  • Bereik van de core-versiebeperking — de bundle accepteert nextpdf/core^3.0 || ^5.2. Composer lost de versie op die past bij de rest van uw afhankelijkhedengraaf. Zet één hoofdversie vast in de composer.json van uw applicatie als u een deterministische engineversie nodig hebt.
  • Controle op ontbrekende extensie — als php bin/console bij het opstarten faalt met een melding over ext-mbstring of ext-zlib, schakel dan de genoemde extensie in php.ini in. Dit fail-fast-gedrag is opzettelijk en geen defect in de bundle.
  • Flex heeft de bundle niet geregistreerd — wis de Composer-cache en installeer opnieuw. Als u Flex niet gebruikt, volgt u de handmatige config/bundles.php-stap.

Elke rij is een normatieve bewering op deze pagina, vastgezet aan een volledige 64-hex reference_id uit het afgeschermde SDO-corpus. De herkomst staat in _sidecars/rag-citations.yaml en omvat het corpusmanifest en het ophaaltransport.

SpecificatieClausulereference_idBewering
PSR-4psr_4_autoload#x1.x2.p5Koppeling van autoloader-namespace-prefix naar map
  • /integrations/symfony/overview/ — wat de bundle biedt.
  • /integrations/symfony/configuration/ — de volledige configuratieboom en servicetabel.
  • /integrations/symfony/quickstart/ — eerste uitvoerbare controller.
  • /integrations/symfony/boot-and-discovery/ — detectie en opstartvolgorde in detail.