Instalasi NextPDF untuk CodeIgniter 4
Sekilas
Bagian berjudul “Sekilas”Pasang paket ini dengan Composer. CodeIgniter 4 menemukan kelas Services dan fungsi helper secara otomatis, sehingga Anda tidak perlu mendaftarkannya secara manual.
Persyaratan
Bagian berjudul “Persyaratan”Berkas composer.json paket ini menjadi sumber otoritatif untuk batasan berikut. Tabel ini menyajikannya kembali sebagai rujukan cepat.
| Dependensi | Batasan | Catatan |
|---|---|---|
| PHP | >=8.4 <9.0 | Menargetkan PHP 8.4. |
nextpdf/core | ^3.0 || ^5.2 | Mesin NextPDF. |
codeigniter4/framework | ^4.6 | Diverifikasi dengan CodeIgniter 4.7.0. |
ext-mbstring | wajib saat runtime | Divalidasi satu kali per proses. |
ext-zlib | wajib saat runtime | Divalidasi satu kali per proses. |
Paket opsional yang dideklarasikan di bagian suggest menambahkan fitur berikut:
| Paket | Menambahkan |
|---|---|
nextpdf/artisan | Renderer HTML berbasis Chrome DevTools Protocol (CDP), terdeteksi otomatis saat dokumen dibangun. |
nextpdf/premium | Fitur NextPDF Pro dan Enterprise: penandatanganan, PDF/A, Factur-X. |
codeigniter4/queue | Pembuatan PDF secara asinkron dengan GeneratePdfJob. |
Pemasangan
Bagian berjudul “Pemasangan”Pasang paket ini dengan Composer:
composer require nextpdf/codeigniterComposer menyelesaikan nextpdf/core dan codeigniter4/framework berdasarkan batasan di atas. Anda tidak perlu menyunting service provider, bundle, atau berkas bootstrap.
Cara kerja penemuan
Bagian berjudul “Cara kerja penemuan”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.
Memverifikasi pemasangan
Bagian berjudul “Memverifikasi pemasangan”Pastikan Composer telah menyelesaikan paket ini:
composer show nextpdf/codeigniterPastikan 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/.
Kasus tepi & jebakan
Bagian berjudul “Kasus tepi & jebakan”- Jika aplikasi host menyetel
Config\Modules::$discoverInComposerkefalse, tambahkannextpdf/codeigniterke daftar$composerPackages['only']. Jika tidak, CodeIgniter akan melewati paket tersebut. - Autoloader Composer yang tidak mutakhir dapat membuat kelas Services tidak ditemukan. Jalankan
composer dump-autoloadsetelah Anda melakukan pemutakhiran. - Paket ini mendeklarasikan
codeigniter4/queuehanya sebagai dependensi pengembangan. Aplikasi produksi yang mengirimkanGeneratePdfJobharus menambahkancodeigniter4/queuesebagai dependensi langsung.
Catatan keamanan
Bagian berjudul “Catatan keamanan”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/.
Kompatibilitas
Bagian berjudul “Kompatibilitas”- Penemuan Composer bergantung pada autoloading PSR-4.
Lihat juga
Bagian berjudul “Lihat juga”- /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.