Instalar NextPDF para CodeIgniter 4
En resumen
Sección titulada «En resumen»Instalar el paquete con Composer. CodeIgniter 4 descubre automáticamente la clase Services y las funciones de ayuda. No hace falta registrar nada manualmente.
Requisitos
Sección titulada «Requisitos»El composer.json del paquete declara estas restricciones y es la fuente autorizada. La tabla siguiente expresa esas mismas restricciones.
| Dependencia | Restricción | Notas |
|---|---|---|
| PHP | >=8.4 <9.0 | El paquete está orientado a PHP 8.4. |
nextpdf/core | ^3.0 || ^5.2 | El motor de NextPDF. |
codeigniter4/framework | ^4.6 | Verificado con CodeIgniter 4.7.0. |
ext-mbstring | requerido en tiempo de ejecución | Se valida una vez por proceso. |
ext-zlib | requerido en tiempo de ejecución | Se valida una vez por proceso. |
Paquetes opcionales declarados en suggest:
| Paquete | Agrega |
|---|---|
nextpdf/artisan | Renderer HTML de Chrome CDP (detectado automáticamente al construir el documento). |
nextpdf/premium | NextPDF Pro y Enterprise: firma, PDF/A y Factur-X. |
codeigniter4/queue | Generación asíncrona de PDF mediante GeneratePdfJob. |
Instalación
Sección titulada «Instalación»Para instalar el paquete:
composer require nextpdf/codeigniterComposer resuelve nextpdf/core y codeigniter4/framework según las restricciones anteriores. No es necesario editar un proveedor de servicios, un bundle ni un archivo de arranque.
Cómo funciona el descubrimiento
Sección titulada «Cómo funciona el descubrimiento»CodeIgniter 4 examina los paquetes de Composer en busca de componentes del framework cuando Config\Modules::$discoverInComposer es true, el valor predeterminado del framework. El paquete incluye la clase NextPDF\CodeIgniter\Config\Services. Esta clase se encuentra bajo el espacio de nombres PSR-4 NextPDF\CodeIgniter\, asignado a src/CodeIgniter/. El autocargador PSR-4 de Composer convierte ese nombre de clase completamente cualificado en una ruta de archivo. El espacio de nombres de nivel superior es obligatorio (PSR-4 §x1.x2.p5, modal MUST). El prefijo del espacio de nombres se asigna al directorio base, por lo que la clase se resuelve en su archivo (PSR-4 §x1.x3).
La entrada de autocargado files de Composer del paquete (src/CodeIgniter/Helpers/pdf_helper.php) registra las dos funciones de ayuda, pdf() y pdf_document(). El Registrar del paquete también declara el ayudante pdf ante el cargador de ayudantes de CodeIgniter. Consultar /integrations/codeigniter/boot-and-discovery/ para ver la secuencia completa.
Verificar la instalación
Sección titulada «Verificar la instalación»Confirmar que Composer resolvió el paquete:
composer show nextpdf/codeigniterConfirmar que CodeIgniter descubrió la clase Services. En cualquier controlador, o en una ruta corta de php spark, llamar a un servicio y verificar el tipo con una aserción:
<?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() devuelve un Document, el descubrimiento funciona. Si la llamada devuelve null, el descubrimiento no se ejecutó. Consultar /integrations/codeigniter/troubleshooting/.
Casos límite y puntos de atención
Sección titulada «Casos límite y puntos de atención»- Si la aplicación anfitriona establece
Config\Modules::$discoverInComposerenfalse, agregarnextpdf/codeignitera la lista$composerPackages['only']. De lo contrario, el descubrimiento omite el paquete. - Un autocargador de Composer obsoleto puede ocultar la clase Services. Ejecutar
composer dump-autoloaddespués de actualizar. - El paquete declara
codeigniter4/queuesolo como dependencia de desarrollo. Una aplicación de producción que despacheGeneratePdfJobdebe requerircodeigniter4/queuecomo dependencia propia.
Notas de seguridad
Sección titulada «Notas de seguridad»Instalar desde Packagist a través de HTTPS. Fijar las versiones resueltas en composer.lock. El paquete no agrega scripts en tiempo de instalación. Consultar /integrations/codeigniter/security-and-operations/.
Conformidad
Sección titulada «Conformidad»- El descubrimiento de Composer depende del autocargador PSR-4.
Ver también
Sección titulada «Ver también»- /integrations/codeigniter/overview/ — qué ofrece el paquete.
- /integrations/codeigniter/quickstart/ — el primer PDF en un controlador.
- /integrations/codeigniter/configuration/ — claves de configuración y anulaciones.
- /integrations/codeigniter/boot-and-discovery/ — secuencia de descubrimiento detallada.