De NextPDF Symfony-bundle installeren
In één oogopslag
Sectie met titel “In één oogopslag”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.
Vereisten
Sectie met titel “Vereisten”De composer.json van de bundle legt de volgende beperkingen vast.
| Afhankelijkheid | Beperking |
|---|---|
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.
Optionele pakketten
Sectie met titel “Optionele pakketten”De composer.json van de bundle vermeldt deze pakketten onder suggest. Voeg ze toe wanneer u het gedrag nodig hebt dat ze bieden:
| Pakket | Voegt toe |
|---|---|
nextpdf/artisan | HTML-weergave via Chrome CDP, automatisch gedetecteerd tijdens het compileren |
nextpdf/premium | PDF/A-archivering en digitaal ondertekenen (installeert de Pro-laag), automatisch gedetecteerd tijdens het compileren |
symfony/messenger | Asynchrone PDF-generatie via de Messenger-handler |
Installeren met Composer
Sectie met titel “Installeren met Composer”composer require nextpdf/symfonyDe 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 registreren
Sectie met titel “De bundle registreren”Symfony Flex (aanbevolen)
Sectie met titel “Symfony Flex (aanbevolen)”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.
Handmatige registratie (zonder Flex)
Sectie met titel “Handmatige registratie (zonder Flex)”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.
Het configuratiebestand aanleveren
Sectie met titel “Het configuratiebestand aanleveren”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/.
De installatie verifiëren
Sectie met titel “De installatie verifiëren”Controleer dat de container de services van de bundle kan zien:
php bin/console debug:container nextpdfU zou services met de alias nextpdf.document en NextPDF\Symfony\Service\PdfFactory moeten zien. Voer het volgende uit om de opgeloste configuratie te inspecteren:
php bin/console debug:config nextpdfDeze opdracht drukt de samengevoegde configuratieboom af: uw overschrijvingen plus de standaardwaarden.
Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- 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 decomposer.jsonvan uw applicatie als u een deterministische engineversie nodig hebt. - Controle op ontbrekende extensie — als
php bin/consolebij het opstarten faalt met een melding overext-mbstringofext-zlib, schakel dan de genoemde extensie inphp.iniin. 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.
Conformiteit
Sectie met titel “Conformiteit”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.
| Specificatie | Clausule | reference_id | Bewering |
|---|---|---|---|
| PSR-4 | psr_4_autoload#x1.x2.p5 | Koppeling van autoloader-namespace-prefix naar map |
Zie ook
Sectie met titel “Zie ook”- /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.