Aller au contenu

Installer NextPDF pour CodeIgniter 4

Installe le package avec Composer. CodeIgniter 4 détecte automatiquement la classe Services et les fonctions d’assistance. Tu n’as rien à enregistrer manuellement.

Le fichier composer.json du package déclare ces contraintes et fait foi. Le tableau ci-dessous les reprend.

DépendanceContrainteNotes
PHP>=8.4 <9.0Le package cible PHP 8.4.
nextpdf/core^3.0 || ^5.2Le moteur NextPDF.
codeigniter4/framework^4.6Vérifié avec CodeIgniter 4.7.0.
ext-mbstringrequis à l’exécutionValidé une fois par processus.
ext-zlibrequis à l’exécutionValidé une fois par processus.

Packages optionnels déclarés dans suggest :

PackageAjoute
nextpdf/artisanMoteur de rendu HTML Chrome CDP (détecté automatiquement lors de la génération du document).
nextpdf/premiumNextPDF Pro et Enterprise : signature, PDF/A, Factur-X.
codeigniter4/queueGénération de PDF asynchrone via GeneratePdfJob.

Installe le package :

Fenêtre de terminal
composer require nextpdf/codeigniter

Composer résout nextpdf/core et codeigniter4/framework selon les contraintes ci-dessus. Tu n’as besoin de modifier aucun fournisseur de services, bundle ni fichier d’amorçage.

CodeIgniter 4 analyse les packages Composer pour y détecter des éléments du framework lorsque Config\Modules::$discoverInComposer vaut true, la valeur par défaut du framework. Le package fournit une classe NextPDF\CodeIgniter\Config\Services. La classe se trouve dans l’espace de noms PSR-4 NextPDF\CodeIgniter\, qui correspond à src/CodeIgniter/. Le chargement automatique PSR-4 de Composer convertit ce nom de classe pleinement qualifié en chemin de fichier. L’espace de noms de premier niveau est requis (PSR-4 §x1.x2.p5, modal MUST). Le préfixe d’espace de noms correspond au répertoire de base, ce qui permet de résoudre la classe vers son fichier (PSR-4 §x1.x3).

L’entrée files de l’autoload Composer du package (src/CodeIgniter/Helpers/pdf_helper.php) enregistre les deux fonctions d’assistance, pdf() et pdf_document(). Le Registrar du package déclare également l’assistant pdf au chargeur d’assistants de CodeIgniter. Consulte /integrations/codeigniter/boot-and-discovery/ pour connaître la séquence complète.

Confirme que Composer a bien résolu le package :

Fenêtre de terminal
composer show nextpdf/codeigniter

Confirme que CodeIgniter a bien découvert la classe Services. Dans n’importe quel contrôleur ou dans une courte route php spark, appelle le service et vérifie son 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);

Si Services::pdfDocument() renvoie un Document, la découverte fonctionne. Si l’appel renvoie null, la découverte n’a pas été exécutée. Consulte /integrations/codeigniter/troubleshooting/.

  • Si l’application hôte définit Config\Modules::$discoverInComposer sur false, ajoute nextpdf/codeigniter à la liste $composerPackages['only']. Sinon, la découverte ignore le package.
  • Un chargeur automatique Composer obsolète peut masquer la classe Services. Exécute composer dump-autoload après une mise à niveau.
  • Le package déclare codeigniter4/queue uniquement comme dépendance de développement. Une application de production qui déclenche GeneratePdfJob doit requérir codeigniter4/queue elle-même.

Installe le package depuis Packagist via HTTPS. Verrouille les versions résolues dans composer.lock. Le package n’ajoute aucun script d’installation. Consulte /integrations/codeigniter/security-and-operations/.

  • La découverte par Composer repose sur le chargement automatique PSR-4.
  • /integrations/codeigniter/overview/ — ce que fournit le package.
  • /integrations/codeigniter/quickstart/ — premier PDF dans un contrôleur.
  • /integrations/codeigniter/configuration/ — clés de configuration et surcharges.
  • /integrations/codeigniter/boot-and-discovery/ — séquence de découverte en détail.