Skip to content

Руководство по обновлению

TCPDF-Next в настоящее время находится на линейке релизов 1.x. Эта страница описывает политику версионирования и способы поддержания актуальности.

Семантическое версионирование

TCPDF-Next следует семантическому версионированию 2.0.0:

Тип обновленияЗначениеБезопасно обновлять?
Патч (1.0.x)Исправления ошибок, документация, внутренний рефакторингДа — полностью обратно совместимо
Минор (1.x.0)Новые функции, неразрушающие дополненияДа — изменения существующего кода не требуются
Мажор (x.0.0)Разрушающие изменения APIСначала прочитайте руководство по миграции

В серии 1.x публичный API считается стабильным. Любое разрушающее изменение будет отложено до следующего мажорного релиза и будет сопровождаться подробным руководством по миграции.

Проверка журнала изменений

Перед обновлением ознакомьтесь с CHANGELOG на GitHub. Каждый релиз содержит:

  • 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:

С legacy 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-ы заменяют позиционные целочисленные флаги.
  • Вывод использует enum OutputDestination вместо односимвольных строк.
  • Управление шрифтами осуществляется через FontConfig, а не ручным размещением файлов.

С Dompdf / wkhtmltopdf

Если вы привыкли к конвертации HTML в PDF, обратите внимание на пакет Artisan, который предоставляет полноценный конвейер рендеринга CSS3 поверх TCPDF-Next Core. Для программного создания PDF подход через API, описанный в Базовое использование, будет более производительным и предсказуемым, чем генерация на основе HTML.

Распространяется по лицензии LGPL-3.0-or-later.