アップグレードガイド
TCPDF-Next は現在 1.x リリースラインです。このページでは、バージョニングポリシーと最新版を維持する方法を説明します。
セマンティックバージョニング
TCPDF-Next は Semantic Versioning 2.0.0 に準拠しています:
| バージョンバンプ | 意味 | 安全にアップデート可能? |
|---|---|---|
| パッチ (1.0.x) | バグ修正、ドキュメント、内部リファクタリング | はい — 完全な後方互換性 |
| マイナー (1.x.0) | 新機能、破壊的でない追加 | はい — 既存コードの変更は不要 |
| メジャー (x.0.0) | 破壊的な API 変更 | 最初にマイグレーションガイドを参照してください |
1.x シリーズの間、パブリック API は安定しているとみなされます。破壊的な変更は次のメジャーリリースに予約され、詳細なマイグレーションガイドが付属します。
変更履歴の確認
アップグレード前に、GitHub の CHANGELOG を確認してください。各リリースには以下が記載されています:
- Added — 新機能とクラス
- Changed — 既存の動作の変更
- Deprecated — 次のメジャーバージョンで削除される API
- Fixed — バグ修正
- Security — 脆弱性パッチ(即座にアップグレードしてください)
Composer によるアップデート
bash
# 制約内で最新の互換バージョンにアップデート
composer update yeeefang/tcpdf-next
# または特定のバージョンに固定
composer require yeeefang/tcpdf-next:^1.2アップデート後、テストスイートを実行して問題がないことを確認してください:
bash
composer test他のライブラリからのマイグレーション
他の PDF ライブラリから移行する場合、以下のガイドが馴染みのあるコンセプトを TCPDF-Next の対応する要素にマッピングするのに役立ちます。
レガシー TCPDF から
TCPDF-Next はフォークではありません。完全に新しい API を持つゼロからの書き直しです。主な違いは:
- 静的な設定定数は型付き Enum と値オブジェクトに置き換えられました。
- グローバル状態は排除されました — 各
Documentインスタンスは自己完結しています。 - すべてのクラスは可能な限り
readonlyであり、厳格なdeclare(strict_types=1)が適用されています。 - PHP 8.5+ が必須です(なぜ PHP 8.5+ なのか? を参照)。
1.0 安定版リリースと同時に、サイドバイサイドのマイグレーションチートシートが公開される予定です。
FPDF / FPDI から
cell/multiCell/text/write メソッドは意図的に類似した名前を使用しているため、学習曲線は最小限です。主な違いは:
- 名前付きパラメータと Enum が位置指定の整数フラグを置き換えています。
- 出力は単一文字列の代わりに
OutputDestinationEnum を使用します。 - フォント管理は手動のファイル配置ではなく
FontConfigを通じて処理されます。
Dompdf / wkhtmltopdf から
HTML-to-PDF 変換に慣れている場合は、Artisan パッケージを参照してください。TCPDF-Next Core をベースとした完全な CSS3 レンダリングパイプラインを提供しています。プログラマティックな PDF 構築には、基本的な使い方 で説明されている API 駆動のアプローチが、HTML ベースの生成よりもパフォーマンスが高く予測可能です。