Skip to content

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 VersioneSignificatoSicuro Aggiornare?
Patch (1.0.x)Bug fix, documentazione, refactoring internoSì — completamente retrocompatibile
Minor (1.x.0)Nuove funzionalità, aggiunte non-breakingSì — nessuna modifica codice esistente necessaria
Major (x.0.0)Modifiche API breakingLeggi 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

bash
# 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.2

Dopo l'aggiornamento, esegui la tua suite di test per verificare che nulla sia rotto:

bash
composer test

Migrazione 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 readonly dove possibile, con strict declare(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 OutputDestination invece di stringhe a carattere singolo.
  • La gestione font è gestita tramite FontConfig invece 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.

Rilasciato sotto licenza LGPL-3.0-or-later.