Ga naar inhoud

TCPDF-compatibiliteit ontwikkelaarsgids

De compatibiliteitsadapter is een migratielaag. Hij maakt verouderd gedrag zichtbaar in plaats van het te verbergen. Gebruik hem om uw applicatie draaiende te houden terwijl u waardevolle paden verplaatst naar de native NextPDF-API’s.

Gebruik deze gids wanneer u verouderde, TCPDF-vormige code onderhoudt, adapterdekking toevoegt of een gefaseerde migratie naar de native NextPDF-API’s plant.

LaagEigenaarVerantwoordelijkheidPlaats hier niet
Verouderde applicatieApplicatieHoud bestaande TCPDF-vormige aanroepen draaiende tijdens de migratie.Nieuwe PDF-functies die de native NextPDF-API’s zouden moeten gebruiken.
Adapterschilnextpdf/compat-legacyStel de TCPDF-vormige klasse en gedeelde compatibiliteitsstatus beschikbaar.Grote methodefamilies of conversielogica.
Concern-traitsnextpdf/compat-legacyGroepeer verouderde methodefamilies: tekst, lettertypen, afbeeldingen, beveiliging, formulieren, pagina’s.Uitvoerbeleid dat meerdere families overstijgt.
Bridge-klassennextpdf/compat-legacyConverteer verouderde argumenten, bestemmingen, kleuren, eenheden en formaten.Bedrijfsspecifiek gedrag.
Kern-enginenextpdf/nextpdfMaak het native document aan.Beloften over verouderde compatibiliteit.
FaseGedragActie van de ontwikkelaar
BootstrapEen optionele verouderde bootstrap stelt compatibiliteitsnamen beschikbaar.Gebruik deze alleen waar verouderde code TCPDF-symbolen verwacht.
ConstructieDe adapter wijst verouderde constructorargumenten toe aan de configuratie van het kerndocument.Houd de constructorinvoer stabiel tijdens de migratie.
Methode-aanroepOndersteunde methoden worden via concerns en bridges toegewezen aan NextPDF-gedrag.Controleer de methodedekking voordat u pariteit veronderstelt.
Niet-ondersteunde functieDe adapter werpt expliciete compatibiliteitsuitzonderingen voor niet-ondersteund gedrag.Vervang de aanroep of isoleer hem achter applicatiecode.
UitvoerDe uitvoerbridge wijst verouderd bestemmingsgedrag toe aan NextPDF-uitvoer.Valideer bestandsnamen en opslagwortels.

Begin met het verzamelen van elke TCPDF-methode-aanroep in uw applicatie. Classificeer elke aanroep voordat u het gedrag wijzigt.

ClassificatieBetekenisActie
Ondersteunde adaptermethodeDe methode is gedocumenteerd als ondersteund en heeft tests.Behoud hem tijdelijk en migreer wanneer u dit gebied aanraakt.
Gedeeltelijk ondersteunde adaptermethodeDe methode bestaat, maar het gedrag komt niet volledig overeen met verouderde TCPDF.Voeg fixture-tests toe en valideer de uitvoer handmatig.
Expliciet niet-ondersteunde methodeDe adapter werpt een compatibiliteitsuitzondering.Vervang hem door native NextPDF of verwijder de functie.
Bedrijfsspecifieke wrapperDe applicatie verpakt TCPDF-aanroepen al.Migreer eerst de interne werking van de wrapper.
Compliance-gevoelige aanroepHandtekening, versleuteling, tagging, PDF/A, toegankelijkheid of factuurstroom.Migreer naar de native NextPDF-API’s met specifieke verificatie.

Voeg compatibiliteitsondersteuning toe in de kleinste methodefamilie die dat gedrag bezit.

Type wijzigingWaar te implementerenVereiste test
Methode voor tekstuitvoerConcerns\AdaptsTextOutput of de lettertype-concern.Verouderde fixture plus assertie op native uitvoer.
Methode voor pagina of margeConcern voor pagina, positionering of marge.Test voor coördinaatconversie en paginastatus.
Methode voor afbeelding of tekeningConcern voor afbeelding, tekening, kleur of verloop.Test voor invoervalidatie en visual/structural uitvoer.
UitvoerbestemmingOutputBridge.Test voor bestemmingstoewijzing en onveilig pad.
Niet-ondersteunde functieUitzonderingsfactory of tabel met methodedekking.Test voor uitzonderingstype en -bericht.

Plaats geen grote methode rechtstreeks in het adapterschil wanneer een concern-trait de familie bezit.

Gebruik de adapter om verouderde code te stabiliseren en verplaats stabiele workflows vervolgens naar de native API’s.

<?php
// Temporary compatibility code.
$pdf = new \NextPDF\Compat\Tcpdf\TCPDF();
$pdf->AddPage();
$pdf->SetFont('dejavusans', '', 12);
$pdf->Cell(0, 10, 'Invoice 1234');
// Target native shape.
$document = \NextPDF\Core\Document::createStandalone();
$document->addPage()
->setFont('dejavusans', '', 12)
->cell(0, 10, 'Invoice 1234');

Beschouw migratie als een reeks kleine gedragsmatige stappen. Een pagina kan de adapter blijven gebruiken terwijl één sectie met hoog risico naar de native API’s verhuist.

UitbreidingspuntGebruik het voorBeperking
AdaptationConfigBeheer het adaptergedrag tijdens de migratie.Houd standaardwaarden expliciet en gecontroleerd.
Concern-traitsGroepeer methodefamilies zoals tekst, formulieren, afbeeldingen of beveiliging.Voeg methoden toe aan de juiste concern, niet aan het adapterschil.
Bridge-klassenConverteer verouderde argumentvormen naar kernwaarden.Dek bridge-gedrag af met migratietests.
CompatAdapterInterfaceAbstractie op adapterniveau voor tooling.Gebruik dit niet als vervanging voor native kerncontracten in nieuwe code.
Tabel met methodedekkingOndersteuningsregister voor ontwikkelaars.Werk het bij wanneer de ondersteuningsstatus verandert.
  1. Installeer de adapter en draai de verouderde testsuite ongewijzigd.
  2. Open methodedekking en classificeer elke aangeroepen methode.
  3. Vervang eerst de niet-ondersteunde methoden.
  4. Verplaats paden met hoog volume of compliance-gevoelige paden naar de native kern-API’s.
  5. Voeg fixture-dekking toe voor elke gemigreerde methodefamilie.
  6. Verwijder bootstrap-aliassen wanneer geen enkel applicatie-entrypoint ervan afhankelijk is.
FoutWaar deze moet worden afgehandeldAanbevolen respons
Niet-ondersteunde methodeAdapteruitzondering.Vervang de aanroep of isoleer hem achter een applicatieadapter.
Gedeeltelijke lay-outpariteitMigratietests en visuele controle.Documenteer het geaccepteerde verschil vóór de uitrol.
Onveilige uitvoerbestemmingOutputBridge en het opslagbeleid van de applicatie.Weiger onveilige paden en geef de voorkeur aan native uitvoer-API’s.
Mismatch in beveiligingsfunctieNative migratieplan.Lever geen alleen-compatibiliteitsgedrag voor gereguleerde uitvoer.
Botsing van bootstrap-aliassenApplicatie-bootstrap.Verwijder globale aliassen of beperk hun bereik tot verouderde entrypoints.
ConcernStandaardwaardeWanneer overschrijven
Niet-ondersteunde methodenWerp een expliciete uitzondering.Verzwak dit niet in productie.
Verouderde standaardwaardenGecentraliseerd in LegacyDefaults.Overschrijf alleen voor bekend migratiegedrag.
UitvoertoewijzingGaat via OutputBridge.Gebruik na de migratie de native uitvoer-API’s.
Bron van dekkingPagina met methodedekking en tests.Voer de dekkingscontroles opnieuw uit na elke adapterupgrade.
Strikte modusHoud ingeschakeld tijdens migratie-audits.Schakel alleen uit voor een gedocumenteerd venster van verouderde compatibiliteit.
  • Behoud een verouderde fixture voor elke gemigreerde methodefamilie.
  • Voeg één native NextPDF-test toe voordat u een verouderde methode vervangt.
  • Verifieer dat niet-ondersteunde methoden de gedocumenteerde uitzondering werpen.
  • Vergelijk de uitvoerstructuur wanneer exacte byte-gelijkheid geen realistisch migratiedoel is.
  • Voer de methodedekkingscontroles uit nadat u adaptermethoden toevoegt of wijzigt.
  • Voeg opslagpadtests toe voor elke uitvoerbestemming die verouderde code gebruikt.