Guida Aggiornamento
TCPDF-Next è attualmente sulla release line 1.x. Questa pagina spiega la politica di versioning e come rimanere aggiornato.
Versionamento Semantico
TCPDF-Next segue Semantic Versioning 2.0.0:
| Incremento Versione | Significato | Sicuro Aggiornare? |
|---|---|---|
| Patch (1.0.x) | Bug fix, documentazione, refactoring interno | Sì — completamente retrocompatibile |
| Minor (1.x.0) | Nuove funzionalità, aggiunte non-breaking | Sì — nessuna modifica codice esistente necessaria |
| Major (x.0.0) | Modifiche API breaking | Leggi prima la guida migrazione |
Durante la serie 1.x, l'API pubblica è considerata stabile. Qualsiasi modifica breaking sarà riservata alla prossima release major e sarà accompagnata da una guida migrazione dettagliata.
Controllo Changelog
Prima di aggiornare, rivedi il CHANGELOG su GitHub. Ogni release elenca:
- Added — nuove funzionalità e classi
- Changed — modifiche al comportamento esistente
- Deprecated — API che saranno rimosse nella prossima versione major
- Fixed — bug fix
- Security — patch vulnerabilità (aggiorna immediatamente)
Aggiornamento via Composer
# Aggiorna all'ultima versione compatibile entro il tuo vincolo
composer update yeeefang/tcpdf-next
# Oppure fissa a una versione specifica
composer require yeeefang/tcpdf-next:^1.2Dopo l'aggiornamento, esegui la tua suite di test per verificare che nulla sia rotto:
composer testMigrazione da Altre Librerie
Se provieni da un'altra libreria PDF, le seguenti guide ti aiuteranno a mappare concetti familiari ai loro equivalenti TCPDF-Next:
Da TCPDF legacy
TCPDF-Next non è un fork. È una riscrittura completa da zero con un'API completamente nuova. Differenze chiave:
- Costanti configurazione statiche sostituite da typed enum e value object.
- Stato globale eliminato — ogni istanza
Documentè autocontenuta. - Tutte le classi sono
readonlydove possibile, con strictdeclare(strict_types=1). - PHP 8.5+ richiesto (vedi Perché PHP 8.5?).
Una cheat sheet migrazione affiancata sarà pubblicata insieme al rilascio 1.0 stabile.
Da FPDF / FPDI
I metodi cell/multiCell/text/write hanno intenzionalmente nomi simili, quindi la curva di apprendimento è minima. Le differenze principali sono:
- Parametri nominati ed enum sostituiscono flag interi posizionali.
- L'output usa l'enum
OutputDestinationinvece di stringhe a carattere singolo. - La gestione font è gestita tramite
FontConfiginvece del posizionamento manuale file.
Da Dompdf / wkhtmltopdf
Se sei abituato alla conversione HTML-to-PDF, vedi il pacchetto Artisan, che fornisce una pipeline di rendering CSS3 completa su TCPDF-Next Core. Per la costruzione programmatica PDF, l'approccio API-driven descritto in Utilizzo Base sarà più performante e prevedibile della generazione basata su HTML.