İçeriğe geç

CodeIgniter 4 için NextPDF kurulumu

Paketi Composer ile kurun. CodeIgniter 4, Services sınıfını ve yardımcı işlevleri otomatik olarak keşfeder; bu nedenle bunları elle kaydetmeniz gerekmez.

Bu kısıtlamalar için nihai kaynak, paketin composer.json dosyasıdır. Aşağıdaki tablo, hızlı başvuru için bunları yeniden listeler.

BağımlılıkKısıtlamaNotlar
PHP>=8.4 <9.0PHP 8.4’ü hedefler.
nextpdf/core^3.0 || ^5.2NextPDF motoru.
codeigniter4/framework^4.6CodeIgniter 4.7.0 ile doğrulandı.
ext-mbstringçalışma zamanında gerekliİşlem başına bir kez doğrulanır.
ext-zlibçalışma zamanında gerekliİşlem başına bir kez doğrulanır.

İsteğe bağlı paketler suggest altında bildirilir ve şu özellikleri ekler:

PaketEklediği özellikler
nextpdf/artisanBelge derlemesi sırasında otomatik olarak algılanan Chrome DevTools Protocol (CDP) HTML işleyicisi.
nextpdf/premiumNextPDF Pro ve Enterprise özellikleri: imzalama, PDF/A, Factur-X.
codeigniter4/queueEşzamansız PDF oluşturma için GeneratePdfJob.

Paketi Composer ile kurun:

Terminal window
composer require nextpdf/codeigniter

Composer, nextpdf/core ve codeigniter4/framework paketlerini yukarıdaki kısıtlamalara göre çözümler. Bir hizmet sağlayıcıyı, paketi veya önyükleme dosyasını düzenlemeniz gerekmez.

Çerçevenin varsayılanı olarak Config\Modules::$discoverInComposer true olduğunda, CodeIgniter 4 çerçeve bileşenleri için Composer paketlerini tarar. Paket, bir NextPDF\CodeIgniter\Config\Services sınıfı içerir. Bu sınıf, PHP Standard Recommendation 4 (PSR-4) kapsamındaki NextPDF\CodeIgniter\ ad alanında bulunur ve bu ad alanı src/CodeIgniter/ dizinine eşlenir. Composer’ın PSR-4 otomatik yükleyicisi, tam nitelikli sınıf adını bir dosya yoluna dönüştürür. Üst düzey ad alanı zorunludur (PSR-4 §x1.x2.p5, modal MUST). Ad alanı öneki temel dizine eşlendiğinden sınıf kendi dosyasına çözümlenir (PSR-4 §x1.x3).

Paketin Composer files otomatik yükleme girdisi (src/CodeIgniter/Helpers/pdf_helper.php), iki yardımcı işlevi kaydeder: pdf() ve pdf_document(). Paketin Registrar bileşeni de pdf yardımcısını CodeIgniter’ın yardımcı yükleyicisine bildirir. Tam sıralama için bkz. /integrations/codeigniter/boot-and-discovery/.

Composer’ın paketi çözümlediğini doğrulayın:

Terminal window
composer show nextpdf/codeigniter

CodeIgniter’ın Services sınıfını keşfettiğini doğrulayın. Herhangi bir denetleyicide veya kısa bir php spark rotasında hizmeti çağırıp türünü doğrulayın:

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

Eğer Services::pdfDocument() bir Document döndürüyorsa keşif çalışıyordur. null döndürüyorsa keşif çalışmıyordur. Bkz. /integrations/codeigniter/troubleshooting/.

  • Ana uygulama Config\Modules::$discoverInComposer değerini false olarak ayarlarsa, nextpdf/codeigniter paketini $composerPackages['only'] listesine ekleyin. Aksi takdirde CodeIgniter bu paketi atlar.
  • Eski bir Composer otomatik yükleyicisi, Services sınıfını gizleyebilir. Yükseltme yaptıktan sonra composer dump-autoload komutunu çalıştırın.
  • Paket, codeigniter4/queue paketini yalnızca geliştirme bağımlılığı olarak bildirir. GeneratePdfJob görevini gönderen bir üretim uygulaması, codeigniter4/queue paketini doğrudan bağımlılık olarak eklemelidir.

Paketi Packagist’ten HTTPS üzerinden kurun. Çözümlenen sürümleri composer.lock dosyasında sabitleyin. Paket, kurulum sırasında çalışan komut dosyaları eklemez. Bkz. /integrations/codeigniter/security-and-operations/.

  • Composer keşfi, PSR-4 otomatik yüklemesine bağlıdır.
  • /integrations/codeigniter/overview/ — paket yetenekleri.
  • /integrations/codeigniter/quickstart/ — bir denetleyicide ilk PDF’nizi oluşturun.
  • /integrations/codeigniter/configuration/ — yapılandırma anahtarları ve geçersiz kılmalar.
  • /integrations/codeigniter/boot-and-discovery/ — ayrıntılı keşif sıralaması.