İçeriğe geç

NextPDF Laravel paketini kurun

Composer ile nextpdf/laravel paketini kurun. Laravel’in otomatik keşfi servis sağlayıcıyı sizin yerinize kaydeder. Yapılandırma dosyasını düzenlemek istiyorsanız dosyayı yayımlayın. Paket, isteğe bağlı NextPDF uzantılarını otomatik algılar.

Terminal window
composer require nextpdf/laravel

Paket, kendi composer.json dosyasında şu kısıtlamaları bildirir:

GereksinimKısıtlama
PHP>=8.4 <9.0
laravel/framework^12.0
nextpdf/core^3.0 || ^5.2
psr/http-client^1.0

Paket, tek bir PHP Standard Recommendation 4 (PSR-4) eşlemesi üzerinden otomatik yüklenir. NextPDF\Laravel\ öneki src/Laravel/ dizinine çözümlenir. Bu, PSR-4’ün önekten temel dizine eşleme kuralını izler (PSR-4 §3).

Siz composer require komutunu çalıştırdıktan sonra Laravel’in paket otomatik keşfi, bu paketin extra.laravel bloğunu bu paketin composer.json dosyasında okur. Ardından sağlayıcıyı ve cephe takma adını sizin yerinize kaydeder; böylece config/app.php dosyasını elle düzenlemeniz gerekmez. Blok şöyle görünür:

resource: composer.json (extra.laravel)
{
"extra": {
"laravel": {
"providers": [
"NextPDF\\Laravel\\NextPdfServiceProvider"
],
"aliases": {
"Pdf": "NextPDF\\Laravel\\Facades\\Pdf"
}
}
}
}

Laravel’in paket belgelerinde bu davranış açıklanır: extra.laravel.providers dizisi servis sağlayıcıları otomatik kaydeder; extra.laravel.aliases dizisi ise cephe takma adlarını otomatik kaydeder (Laravel 12 paket geliştirme kılavuzu, https://laravel.com/docs/12.x/packages, erişim tarihi 2026-05-18).

Yapılandırma dosyasını yayımlamak için nextpdf-config etiketini kullanın. Bu etiket adı, NextPdfServiceProvider::boot() içinde tanımlanır.

Terminal window
php artisan vendor:publish --tag=nextpdf-config

Bu komut, uygulamanıza config/nextpdf.php dosyasını yazar. Sağlayıcı ayrıca paketin varsayılan yapılandırmasını nextpdf anahtarı altında register() sırasında birleştirir; böylece paket, siz dosyayı yayımlamadan önce de çalışır. Yayımlama, dosyayı uygulamanızda düzenlenebilir hâle getirir.

Laravel’in sağlayıcıyı keşfettiğini doğrulayın:

Terminal window
php artisan package:discover --ansi

Yeniden üretilebilir dağıtımlar için sürüm kısıtlamasını sabitleyin. Keşfi, yalnızca sağlayıcıyı kendiniz kaydediyorsanız açıkça devre dışı bırakın:

resource: opt-out pattern (Laravel 12 packages guide)
{
"extra": {
"laravel": {
"dont-discover": [
"nextpdf/laravel"
]
}
}
}

Keşif devre dışı bırakıldığında, sağlayıcıyı bootstrap/providers.php içinde kendiniz kaydedin:

resource: bootstrap/providers.php (manual registration)
<?php
declare(strict_types=1);
return [
App\Providers\AppServiceProvider::class,
NextPDF\Laravel\NextPdfServiceProvider::class,
];

Paket, isteğe bağlı tamamlayıcı paketleri suggest altında, kendi composer.json dosyasında listeler. Kurulu tamamlayıcıları çalışma zamanında algılar:

PaketKurulduğunda etkisiAlgılama noktası
nextpdf/artisanBir Chrome fabrika sınıfı mevcut olduğunda, Chrome DevTools Protocol (CDP) Hypertext Markup Language (HTML) işleyici yapılandırması belge bağlamasına uygulanırNextPdfServiceProvider::register() Chrome tarayıcı fabrika sınıfı olup olmadığını denetler
nextpdf/premiumMevcut kapsayıcı anahtarları, PDF Advanced Electronic Signatures (PAdES B-B) imzalama, PDF/A arşivleme ve e-fatura sözleşme somut sınıflarını çözümlerilk kapsayıcı çözümlemesinde tembel biçimde çözümlenir

Bir uzantıyı aynı şekilde kurun:

Terminal window
composer require nextpdf/artisan

Ek bir bağlama gerekmez. Sağlayıcı, uzantıyı bir sonraki kayıt döngüsünde algılar.

  • Yayımlama işlemi idempotent’tır. Mevcut bir config/nextpdf.php dosyasının üzerine yazmaz. Üzerine bilerek yazmak istediğinizde --force ekleyin.
  • Sağlayıcı ertelenmiş olduğundan, başarılı bir php artisan package:discover paketin doğrulanması için yeterlidir. Bağlamaların kendileri ilk çözümlemeye kadar görünmez.
  • Paket, nextpdf/core paketini hem ^3.0 hem de ^5.2 ana sürüm hatlarında destekler. Core kısıtlamasını, uygulamanızın sabitlediği hatla eşleştirin. Laravel bağdaştırıcı yüzeyi her ikisinde de aynıdır.
  • README rozeti ve composer.json, Apache-2.0 ile uyumludur. Paketin lisansı daha önce LGPL-3.0-or-later iken değiştirildi. Geçişten önce etiketlenmiş sürümler önceki lisans altında kalır (bkz. CHANGELOG.md).

Asıl olarak nextpdf/core paketinin çözümlenmesi, composer require maliyetinin büyük bölümünü oluşturur. Tüm bağlamalar ertelenmiş kapanışlar olduğundan, sağlayıcı kaydı ölçülebilir bir önyükleme maliyeti eklemez. İlk çözümlemedeki oluşturma maliyeti için bkz. /integrations/laravel/boot-and-discovery/.

Kurulumu kanonik Packagist paketi olan nextpdf/laravel üzerinden yapın. Paket, Software Package Data Exchange (SPDX) REUSE üst bilgileri ve bir Apache-2.0 NOTICE dosyası ile birlikte gelir. Kısıtlamayı composer.json içinde sabitleyin ve composer.lock dosyasını işleyin (commit edin); böylece dağıtılan işçiler doğrulanmış bağımlılık ağacını çözümler.

İddiaKaynakMaddereference_id
PSR-4 öneki temel dizine eşlenirPSR-4 Autoloader§3

Laravel otomatik keşif anahtar adları, resmî Laravel 12 paket geliştirme belgelerine göre doğrulanmıştır (https://laravel.com/docs/12.x/packages, erişim tarihi 2026-05-18).

nextpdf/premium, isteğe bağlı bir Enterprise yeteneği olarak imzalama, PDF/A ve e-fatura somut sınıflarını ekler. Burada belgelenen Core paketini değiştirmeden bu yeteneği benimseyebilirsiniz. Bkz. https://nextpdf.dev/get-license/?intent=laravel-signing.

  • /integrations/laravel/overview/ — paket mimarisi ve bağlama tablosu
  • /integrations/laravel/quickstart/ — ilk çalıştırılabilir denetleyici
  • /integrations/laravel/configuration/ — her yapılandırma anahtarının açıklaması
  • /integrations/laravel/boot-and-discovery/ — keşfin iç işleyişi ve bağlama yaşam süreleri