コンテンツにスキップ

CodeIgniter 4 への NextPDF のインストール

Composer でパッケージをインストールします。CodeIgniter 4 は Services クラスとヘルパー関数を自動的に検出します。手動登録は不要です。

これらの制約はパッケージの composer.json で宣言されており、そのファイルが信頼できる情報源です。以下の表は同じ制約を再掲したものです。

依存関係制約備考
PHP>=8.4 <9.0PHP 8.4 対象。
nextpdf/core^3.0 || ^5.2NextPDF エンジン。
codeigniter4/framework^4.6CodeIgniter 4.7.0 で検証済み。
ext-mbstring実行時に必須プロセスごとに 1 回検証。
ext-zlib実行時に必須プロセスごとに 1 回検証。

オプションのパッケージは suggest で宣言されています。

パッケージ追加される機能
nextpdf/artisanChrome CDP HTML レンダラー(ドキュメントのビルド時に自動検出)。
nextpdf/premiumNextPDF Pro および Enterprise:署名、PDF/A、Factur-X。
codeigniter4/queue非同期 PDF 生成を GeneratePdfJob 経由で実行。

パッケージをインストールします。

Terminal window
composer require nextpdf/codeigniter

Composer は上記の制約に従って nextpdf/corecodeigniter4/framework を resolve(解決)します。サービスプロバイダー、バンドル、ブートストラップファイルを編集する必要はありません。

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)は、2 つのヘルパー関数 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 を require する必要があります。

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/ — 検出シーケンスの詳細。