콘텐츠로 이동

CodeIgniter 4용 NextPDF 설치

Composer로 패키지를 설치합니다. CodeIgniter 4는 Services 클래스와 헬퍼 함수를 자동으로 찾아냅니다. 수동으로 등록할 항목은 없습니다.

패키지 composer.json이 다음 제약 조건을 선언하며, 이 파일이 기준 출처입니다. 아래 표는 동일한 제약 조건을 다시 정리한 내용입니다.

종속성제약 조건참고
PHP>=8.4 <9.0이 패키지는 PHP 8.4를 대상으로 합니다.
nextpdf/core^3.0 || ^5.2NextPDF 엔진입니다.
codeigniter4/framework^4.6CodeIgniter 4.7.0에서 검증되었습니다.
ext-mbstring런타임에 필요프로세스당 한 번 검증됩니다.
ext-zlib런타임에 필요프로세스당 한 번 검증됩니다.

다음 선택적 패키지는 suggest 아래에 선언되어 있습니다:

패키지추가 기능
nextpdf/artisanChrome CDP HTML 렌더러(문서 빌드 시 자동으로 감지됨).
nextpdf/premiumNextPDF Pro 및 Enterprise: 서명, PDF/A, Factur-X.
codeigniter4/queueGeneratePdfJob를 통한 비동기 PDF 생성.

패키지를 설치합니다.

Terminal window
composer require nextpdf/codeigniter

Composer는 위 제약 조건에 따라 nextpdf/corecodeigniter4/framework를 해결합니다. 서비스 제공자, 번들 또는 부트스트랩 파일을 편집할 필요는 없습니다.

CodeIgniter 4는 Config\Modules::$discoverInComposertrue이면 Composer 패키지에서 프레임워크 요소를 검색합니다. 이는 프레임워크 기본값입니다. 이 패키지는 NextPDF\CodeIgniter\Config\Services 클래스를 제공합니다. 이 클래스는 PSR-4 네임스페이스 NextPDF\CodeIgniter\ 아래에 있으며, 이는 src/CodeIgniter/에 매핑됩니다. Composer의 PSR-4 자동 로딩은 해당 정규화된 클래스 이름을 파일 경로로 변환합니다. 최상위 네임스페이스가 필요합니다(PSR-4 §x1.x2.p5, MUST 모달). 네임스페이스 접두사가 기본 디렉터리에 매핑되므로 클래스가 해당 파일로 확인됩니다(PSR-4 §x1.x3).

패키지의 Composer files 자동 로드 항목(src/CodeIgniter/Helpers/pdf_helper.php)은 헬퍼 함수 pdf()pdf_document() 두 개를 등록합니다. 또한 패키지 Registrar는 CodeIgniter의 헬퍼 로더에 pdf 헬퍼를 알립니다. 전체 순서는 /integrations/codeigniter/boot-and-discovery/를 참조하세요.

Composer가 패키지를 해결했는지 확인합니다.

Terminal window
composer show nextpdf/codeigniter

CodeIgniter가 Services 클래스를 검색했는지 확인합니다. 임의의 컨트롤러나 짧은 php spark 라우트에서 서비스를 호출하고 타입을 검증합니다.

<?php
declare(strict_types=1);
use NextPDF\CodeIgniter\Config\Services;
use NextPDF\Core\Document;
$document = Services::pdfDocument(false);
// $document is a fresh NextPDF\Core\Document instance.
\assert($document instanceof Document);

Services::pdfDocument()Document를 반환하면 검색이 정상적으로 작동하는 것입니다. 호출이 null을 반환하면 검색이 실행되지 않은 상태입니다. /integrations/codeigniter/troubleshooting/.를 참조하세요.

  • 호스트 애플리케이션이 Config\Modules::$discoverInComposerfalse로 설정한 경우, nextpdf/codeigniter$composerPackages['only'] 목록에 추가하세요. 그렇지 않으면 검색 과정에서 패키지가 건너뛰어집니다.
  • 오래된 Composer 자동 로더 때문에 Services 클래스가 보이지 않을 수 있습니다. 업그레이드한 후 composer dump-autoload를 실행하세요.
  • 이 패키지는 codeigniter4/queue를 개발 종속성으로만 선언합니다. GeneratePdfJob를 디스패치하는 프로덕션 애플리케이션은 codeigniter4/queue를 직접 요구해야 합니다.

HTTPS를 통해 Packagist에서 설치하세요. 해결된 버전은 composer.lock에 고정하세요. 이 패키지는 설치 시점 스크립트를 추가하지 않습니다. /integrations/codeigniter/security-and-operations/.를 참조하세요.

  • Composer 검색은 PSR-4 자동 로딩에 의존합니다.
  • /integrations/codeigniter/overview/ — 패키지가 제공하는 내용.
  • /integrations/codeigniter/quickstart/ — 컨트롤러에서 첫 번째 PDF 생성.
  • /integrations/codeigniter/configuration/ — 구성 키 및 재정의.
  • /integrations/codeigniter/boot-and-discovery/ — 검색 시퀀스 세부 정보.