Installare NextPDF per CodeIgniter 4
In sintesi
Sezione intitolata “In sintesi”Installare il pacchetto con Composer. CodeIgniter 4 rileva automaticamente la classe Services e le funzioni helper. Non è richiesta alcuna registrazione manuale.
Requisiti
Sezione intitolata “Requisiti”Il file composer.json del pacchetto dichiara i vincoli seguenti ed è la fonte autorevole. La tabella li riporta invariati.
| Dipendenza | Vincolo | Note |
|---|---|---|
| PHP | >=8.4 <9.0 | Il pacchetto richiede PHP 8.4. |
nextpdf/core | ^3.0 || ^5.2 | Il motore NextPDF. |
codeigniter4/framework | ^4.6 | Verificato con CodeIgniter 4.7.0. |
ext-mbstring | richiesta in fase di esecuzione | Convalidata una sola volta per processo. |
ext-zlib | richiesta in fase di esecuzione | Convalidata una sola volta per processo. |
Pacchetti facoltativi dichiarati in suggest:
| Pacchetto | Aggiunge |
|---|---|
nextpdf/artisan | Renderer HTML Chrome CDP (rilevato automaticamente durante la generazione del documento). |
nextpdf/premium | NextPDF Pro ed Enterprise: firma, PDF/A, Factur-X. |
codeigniter4/queue | Generazione asincrona di PDF tramite GeneratePdfJob. |
Installazione
Sezione intitolata “Installazione”Installare il pacchetto:
composer require nextpdf/codeigniterComposer risolve nextpdf/core e codeigniter4/framework in base ai vincoli indicati sopra. Non è necessario modificare un service provider, un bundle o un file di bootstrap.
Come funziona l’individuazione
Sezione intitolata “Come funziona l’individuazione”CodeIgniter 4 esamina i pacchetti Composer alla ricerca di elementi del framework quando Config\Modules::$discoverInComposer è true, valore predefinito del framework. Il pacchetto include una classe NextPDF\CodeIgniter\Config\Services. La classe si trova nel namespace PSR-4 NextPDF\CodeIgniter\, che corrisponde a src/CodeIgniter/. L’autoloading PSR-4 di Composer converte tale nome di classe completo in un percorso di file. Il namespace di primo livello è obbligatorio (PSR-4 §x1.x2.p5, requisito MUST). Il prefisso del namespace corrisponde alla directory di base, quindi la classe viene risolta nel proprio file (PSR-4 §x1.x3).
Nel pacchetto, la voce di autoload files di Composer (src/CodeIgniter/Helpers/pdf_helper.php) registra le due funzioni helper, pdf() e pdf_document(). Il Registrar del pacchetto segnala inoltre l’helper pdf al caricatore di helper di CodeIgniter. Per la sequenza completa, vedere /integrations/codeigniter/boot-and-discovery/.
Verificare l’installazione
Sezione intitolata “Verificare l’installazione”Verificare che Composer abbia risolto il pacchetto:
composer show nextpdf/codeigniterVerificare che CodeIgniter abbia individuato la classe Services. In un controller qualsiasi, oppure in una breve route php spark, chiamare un servizio e verificarne il tipo:
<?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);Se Services::pdfDocument() restituisce un Document, l’individuazione funziona. Se la chiamata restituisce null, l’individuazione non è stata eseguita. Vedere /integrations/codeigniter/troubleshooting/.
Casi limite e insidie
Sezione intitolata “Casi limite e insidie”- Se l’applicazione host imposta
Config\Modules::$discoverInComposersufalse, aggiungerenextpdf/codeigniterall’elenco$composerPackages['only']. In caso contrario, l’individuazione ignora il pacchetto. - Un autoloader di Composer obsoleto può impedire di trovare la classe Services. Eseguire
composer dump-autoloaddopo l’aggiornamento. - Il pacchetto dichiara
codeigniter4/queuesolo come dipendenza di sviluppo. Un’applicazione di produzione che esegue il dispatch diGeneratePdfJobdeve richiederecodeigniter4/queuedirettamente.
Note sulla sicurezza
Sezione intitolata “Note sulla sicurezza”Installare da Packagist tramite HTTPS. Bloccare le versioni risolte in composer.lock. Il pacchetto non aggiunge script in fase di installazione. Vedere /integrations/codeigniter/security-and-operations/.
Conformità
Sezione intitolata “Conformità”- L’individuazione tramite Composer dipende dall’autoloading PSR-4.
Vedere anche
Sezione intitolata “Vedere anche”- /integrations/codeigniter/overview/ — cosa fornisce il pacchetto.
- /integrations/codeigniter/quickstart/ — il primo PDF in un controller.
- /integrations/codeigniter/configuration/ — chiavi di configurazione e override.
- /integrations/codeigniter/boot-and-discovery/ — la sequenza di individuazione in dettaglio.