Lewati ke konten

Instalasi NextPDF untuk CodeIgniter 4

Pasang paket ini dengan Composer. CodeIgniter 4 menemukan kelas Services dan fungsi helper secara otomatis, sehingga Anda tidak perlu mendaftarkannya secara manual.

Berkas composer.json paket ini menjadi sumber otoritatif untuk batasan berikut. Tabel ini menyajikannya kembali sebagai rujukan cepat.

DependensiBatasanCatatan
PHP>=8.4 <9.0Menargetkan PHP 8.4.
nextpdf/core^3.0 || ^5.2Mesin NextPDF.
codeigniter4/framework^4.6Diverifikasi dengan CodeIgniter 4.7.0.
ext-mbstringwajib saat runtimeDivalidasi satu kali per proses.
ext-zlibwajib saat runtimeDivalidasi satu kali per proses.

Paket opsional yang dideklarasikan di bagian suggest menambahkan fitur berikut:

PaketMenambahkan
nextpdf/artisanRenderer HTML berbasis Chrome DevTools Protocol (CDP), terdeteksi otomatis saat dokumen dibangun.
nextpdf/premiumFitur NextPDF Pro dan Enterprise: penandatanganan, PDF/A, Factur-X.
codeigniter4/queuePembuatan PDF secara asinkron dengan GeneratePdfJob.

Pasang paket ini dengan Composer:

Terminal window
composer require nextpdf/codeigniter

Composer menyelesaikan nextpdf/core dan codeigniter4/framework berdasarkan batasan di atas. Anda tidak perlu menyunting service provider, bundle, atau berkas bootstrap.

CodeIgniter 4 memindai paket Composer untuk mencari elemen framework ketika Config\Modules::$discoverInComposer bernilai true, yaitu nilai standar framework. Paket ini menyertakan kelas NextPDF\CodeIgniter\Config\Services. Kelas tersebut berada di namespace PHP Standard Recommendation 4 (PSR-4) NextPDF\CodeIgniter\, yang dipetakan ke src/CodeIgniter/. Autoloader PSR-4 milik Composer mengubah nama kelas berkualifikasi penuh menjadi jalur berkas. Namespace tingkat teratas wajib ada (PSR-4 §x1.x2.p5, modal MUST). Prefiks namespace dipetakan ke direktori dasar, sehingga resolusi kelas tersebut mengarah ke berkasnya (PSR-4 §x1.x3).

Entri autoload files milik paket ini di Composer (src/CodeIgniter/Helpers/pdf_helper.php) mendaftarkan dua fungsi helper pdf() dan pdf_document(). Registrar paket ini juga mengumumkan helper pdf ke pemuat helper CodeIgniter. Lihat /integrations/codeigniter/boot-and-discovery/ untuk urutan lengkapnya.

Pastikan Composer telah menyelesaikan paket ini:

Terminal window
composer show nextpdf/codeigniter

Pastikan CodeIgniter telah menemukan kelas Services. Di controller mana pun, atau dalam rute php spark singkat, panggil layanan tersebut dan pastikan tipenya:

<?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);

Jika Services::pdfDocument() mengembalikan sebuah Document, mekanisme penemuan berfungsi. Jika hasilnya null, mekanisme penemuan tidak berjalan. Lihat /integrations/codeigniter/troubleshooting/.

  • Jika aplikasi host menyetel Config\Modules::$discoverInComposer ke false, tambahkan nextpdf/codeigniter ke daftar $composerPackages['only']. Jika tidak, CodeIgniter akan melewati paket tersebut.
  • Autoloader Composer yang tidak mutakhir dapat membuat kelas Services tidak ditemukan. Jalankan composer dump-autoload setelah Anda melakukan pemutakhiran.
  • Paket ini mendeklarasikan codeigniter4/queue hanya sebagai dependensi pengembangan. Aplikasi produksi yang mengirimkan GeneratePdfJob harus menambahkan codeigniter4/queue sebagai dependensi langsung.

Pasang dari Packagist melalui HTTPS. Kunci versi hasil resolusi di composer.lock. Paket ini tidak menambahkan skrip apa pun saat pemasangan. Lihat /integrations/codeigniter/security-and-operations/.

  • Penemuan Composer bergantung pada autoloading PSR-4.
  • /integrations/codeigniter/overview/ — kemampuan paket.
  • /integrations/codeigniter/quickstart/ — buat PDF pertama Anda di controller.
  • /integrations/codeigniter/configuration/ — kunci konfigurasi dan penggantian.
  • /integrations/codeigniter/boot-and-discovery/ — urutan penemuan secara terperinci.