Ga naar inhoud

NextPDF installeren voor CodeIgniter 4

Installeer het pakket met Composer. CodeIgniter 4 vindt de Services-klasse en helperfuncties automatisch, zodat je ze niet handmatig hoeft te registreren.

Het composer.json-bestand van het pakket is de gezaghebbende bron voor deze beperkingen. Deze tabel zet ze op een rij voor snelle naslag.

AfhankelijkheidBeperkingOpmerkingen
PHP>=8.4 <9.0Gericht op PHP 8.4.
nextpdf/core^3.0 || ^5.2De NextPDF-engine.
codeigniter4/framework^4.6Geverifieerd met CodeIgniter 4.7.0.
ext-mbstringvereist tijdens runtimeWordt eenmaal per proces gevalideerd.
ext-zlibvereist tijdens runtimeWordt eenmaal per proces gevalideerd.

Optionele pakketten onder suggest voegen de volgende functies toe:

PakketVoegt toe
nextpdf/artisanHTML-renderingengine via het Chrome DevTools Protocol (CDP), automatisch gedetecteerd tijdens het opbouwen van het document.
nextpdf/premiumNextPDF Pro- en Enterprise-functies: ondertekenen, PDF/A, Factur-X.
codeigniter4/queueAsynchrone PDF-generatie met GeneratePdfJob.

Installeer het pakket met Composer:

Terminal window
composer require nextpdf/codeigniter

Composer lost nextpdf/core en codeigniter4/framework op basis van de bovenstaande beperkingen op. Je hoeft geen service provider, bundle of bootstrap-bestand te bewerken.

CodeIgniter 4 zoekt in Composer-pakketten naar framework-elementen wanneer Config\Modules::$discoverInComposer de waarde true heeft, de standaardwaarde van het framework. Het pakket bevat een NextPDF\CodeIgniter\Config\Services-klasse. Die klasse staat in de naamruimte NextPDF\CodeIgniter\ volgens PHP Standard Recommendation 4 (PSR-4), die wordt toegewezen aan src/CodeIgniter/. De PSR-4-autoloader van Composer zet de volledig gekwalificeerde klassenaam om in een bestandspad. De naamruimte op het hoogste niveau is verplicht (PSR-4 §x1.x2.p5, modaal MUST). Het naamruimtevoorvoegsel wordt toegewezen aan de basismap, zodat de klasse naar het bijbehorende bestand wordt herleid (PSR-4 §x1.x3).

De files-autoloadvermelding van Composer voor het pakket (src/CodeIgniter/Helpers/pdf_helper.php) registreert de twee helperfuncties pdf() en pdf_document(). De Registrar van het pakket maakt de pdf-helper ook bekend bij de helperlader van CodeIgniter. Zie /integrations/codeigniter/boot-and-discovery/ voor de volledige volgorde.

Controleer of Composer het pakket heeft geïnstalleerd:

Terminal window
composer show nextpdf/codeigniter

Controleer of CodeIgniter de Services-klasse heeft gedetecteerd. Roep de service aan in een willekeurige controller of in een korte php spark-route en controleer het type:

<?php
declare(strict_types=1);
use NextPDF\CodeIgniter\Config\Services;
use NextPDF\Core\Document;
$document = Services::pdfDocument(false);
// $document is a fresh NextPDF\Core\Document instance.
\assert($document instanceof Document);

Als Services::pdfDocument() een Document teruggeeft, werkt de detectie. Als de aanroep null teruggeeft, is de detectie niet uitgevoerd. Zie /integrations/codeigniter/troubleshooting/.

  • Als de hosttoepassing Config\Modules::$discoverInComposer op false instelt, voeg dan nextpdf/codeigniter toe aan de lijst $composerPackages['only']. Anders slaat CodeIgniter het pakket over.
  • Een verouderde Composer-autoloader kan ervoor zorgen dat de Services-klasse niet wordt gevonden. Voer composer dump-autoload uit nadat je hebt geüpgraded.
  • Het pakket declareert codeigniter4/queue alleen als ontwikkelingsafhankelijkheid. Een productietoepassing die GeneratePdfJob verzendt, moet codeigniter4/queue rechtstreeks vereisen.

Installeer via HTTPS vanaf Packagist. Leg de opgeloste versies vast in composer.lock. Het pakket voegt geen scripts toe die tijdens de installatie worden uitgevoerd. Zie /integrations/codeigniter/security-and-operations/.

  • Composer-detectie is afhankelijk van PSR-4-autoloading.
  • /integrations/codeigniter/overview/ — pakketmogelijkheden.
  • /integrations/codeigniter/quickstart/ — maak je eerste PDF in een controller.
  • /integrations/codeigniter/configuration/ — configuratiesleutels en overschrijvingen.
  • /integrations/codeigniter/boot-and-discovery/ — gedetailleerde detectievolgorde.