NextPDF Laravel paketini kurun
Bir bakışta
“Bir bakışta” başlıklı bölümComposer 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.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/laravelPaket, kendi composer.json dosyasında şu kısıtlamaları bildirir:
| Gereksinim | Kı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).
Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümSiz 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:
{ "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).
Kod örneği — hızlı başlangıç
“Kod örneği — hızlı başlangıç” başlıklı bölümYapılandırma dosyasını yayımlamak için nextpdf-config etiketini kullanın. Bu etiket adı, NextPdfServiceProvider::boot() içinde tanımlanır.
php artisan vendor:publish --tag=nextpdf-configBu 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:
php artisan package:discover --ansiKod örneği — üretim
“Kod örneği — üretim” başlıklı bölümYeniden ü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:
{ "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:
<?php
declare(strict_types=1);
return [ App\Providers\AppServiceProvider::class, NextPDF\Laravel\NextPdfServiceProvider::class,];İsteğe bağlı uzantılar
“İsteğe bağlı uzantılar” başlıklı bölümPaket, 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:
| Paket | Kurulduğunda etkisi | Algılama noktası |
|---|---|---|
nextpdf/artisan | Bir 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ır | NextPdfServiceProvider::register() Chrome tarayıcı fabrika sınıfı olup olmadığını denetler |
nextpdf/premium | Mevcut 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ümler | ilk kapsayıcı çözümlemesinde tembel biçimde çözümlenir |
Bir uzantıyı aynı şekilde kurun:
composer require nextpdf/artisanEk bir bağlama gerekmez. Sağlayıcı, uzantıyı bir sonraki kayıt döngüsünde algılar.
Sınır durumları ve dikkat edilmesi gerekenler
“Sınır durumları ve dikkat edilmesi gerekenler” başlıklı bölüm- Yayımlama işlemi idempotent’tır. Mevcut bir
config/nextpdf.phpdosyasının üzerine yazmaz. Üzerine bilerek yazmak istediğinizde--forceekleyin. - Sağlayıcı ertelenmiş olduğundan, başarılı bir
php artisan package:discoverpaketin doğrulanması için yeterlidir. Bağlamaların kendileri ilk çözümlemeye kadar görünmez. - Paket,
nextpdf/corepaketini hem^3.0hem de^5.2ana 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).
Performans
“Performans” başlıklı bölümAsı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/.
Güvenlik notları
“Güvenlik notları” başlıklı bölümKurulumu 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.
Uyumluluk
“Uyumluluk” başlıklı bölüm| İddia | Kaynak | Madde | reference_id |
|---|---|---|---|
| PSR-4 öneki temel dizine eşlenir | PSR-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).
Ticari bağlam
“Ticari bağlam” başlıklı bölümnextpdf/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.
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- /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