İçeriğe geç

NextPDF Symfony paketinin kurulumu

Paketi Composer ile kurun. Uygulamanız Symfony Flex kullanıyorsa, paket otomatik olarak kaydedilir. Flex kullanılmıyorsa, paketi config/bundles.php içinde bir kez kaydedin.

Paketin composer.json dosyası şu kısıtlamaları tanımlar.

BağımlılıkKısıtlama
php>=8.4 <9.0
nextpdf/core^3.0 || ^5.2
symfony/framework-bundle^7.2
symfony/dependency-injection^7.2
symfony/config^7.2
symfony/http-foundation^7.2
psr/log^3.0

Paket ayrıca konteyner oluşturma zamanında iki PHP uzantısını denetler: ext-mbstring ve ext-zlib. Desteklenen tüm PHP çalışma zamanlarında ikisi de etkindir. Bu uzantılardan biri eksikse, koruma açık bir ileti göstererek hızla başarısız olur.

Paketin composer.json dosyası bu paketleri suggest altında bildirir. Bu paketleri, sağladıkları davranışlara ihtiyaç duyduğunuzda ekleyin:

PaketEklediği
nextpdf/artisanChrome CDP HTML işleme; derleme zamanında otomatik olarak algılanır
nextpdf/premiumPDF/A arşivleme ve dijital imzalama (Pro katmanını kurar); derleme zamanında otomatik olarak algılanır
symfony/messengerMessenger işleyicisi aracılığıyla eşzamansız PDF oluşturma
Terminal window
composer require nextpdf/symfony

Paket, PHP Standard Recommendation 4 (PSR-4) öneki NextPDF\Symfony\ altında otomatik olarak yüklenir ve src/Symfony/ diziniyle eşlenir. Bu eşleme composer.jsonautoload.psr-4 içinde bildirilir. Composer’ın oluşturduğu otomatik yükleyici, PSR-4 §2’nin tanımladığı gibi ad alanı önekini bu temel dizinle eşler.

Paket, composer.json içinde otomatik kayıt için bir ipucu sağlar:

{
"extra": {
"symfony": {
"bundles": {
"NextPDF\\Symfony\\NextPdfBundle": "all"
}
}
}
}

Flex’in etkin olduğu bir uygulamada bu giriş, paketi config/bundles.php dosyasına her ortam için (all) ekler. Dosyayı elle düzenlemeniz gerekmez. Kayıt modeli için resmi Symfony paket belgelerine bakın (https://symfony.com/doc/current/bundles.html).

Uygulamanız Symfony Flex kullanmıyorsa, paketi config/bundles.php dosyasına kendiniz ekleyin:

return [
// ... other bundles
NextPDF\Symfony\NextPdfBundle::class => ['all' => true],
];

Paket sınıfı NextPDF\Symfony\NextPdfBundle’dır. Bu sınıf, Symfony’nin Symfony\Component\HttpKernel\Bundle\Bundle temel sınıfını genişletir. Paketin getPath() yöntemi paket kök dizinini döndürür. build() yöntemi, OptionalExtensionPass derleyici geçişini kaydeder.

Paketin yapılandırma takma adı nextpdf’tir. config/packages/nextpdf.yaml dosyasını oluşturun. Yayımlandığında, bir Flex tarifi buraya sizin için varsayılan bir kopya ekler. Yalnızca yerleşik varsayılanlara dayanan minimal bir dosya şöyle görünür:

nextpdf: ~

Her anahtarın bir varsayılanı vardır; bu nedenle boş bir yapılandırma geçerlidir. /integrations/symfony/configuration/ sayfası tam yapılandırma ağacını belgeler.

Konteynerin paket hizmetlerini gördüğünü doğrulayın:

Terminal window
php bin/console debug:container nextpdf

Şu hizmetleri görmelisiniz: nextpdf.document takma adı ve NextPDF\Symfony\Service\PdfFactory hizmeti. Çözümlenen yapılandırmayı incelemek için şunu çalıştırın:

Terminal window
php bin/console debug:config nextpdf

Bu komut, birleştirilmiş yapılandırma ağacını yazdırır: geçersiz kılmalarınız ve varsayılanlar.

  • Core kısıtlama aralığı — paket nextpdf/core^3.0 || ^5.2 aralığını kabul eder. Composer, bağımlılık grafiğinizin geri kalanını karşılayan sürümü çözümler. Belirli bir motor sürümüne ihtiyacınız varsa, uygulamanızın composer.json dosyasında tek bir ana sürümü sabitleyin.
  • Eksik uzantı korumasıphp bin/console başlatma sırasında ext-mbstring veya ext-zlib ile ilgili bir ileti vererek başarısız olursa, adı belirtilen uzantıyı php.ini içinde etkinleştirin. Bu hızlı başarısız olma davranışı kasıtlıdır; bir paket kusuru değildir.
  • Flex paketi kaydetmedi — Composer önbelleğini temizleyin ve yeniden kurun. Flex kullanmıyorsanız, config/bundles.php dosyasını elle düzenleme adımını izleyin.

Her satır, bu sayfada ileri sürülen normatif bir iddiadır ve kapılı SDO külliyatından tam 64 onaltılık reference_id değerine sabitlenmiştir. Köken bilgisi _sidecars/rag-citations.yaml içindedir. Bu bilgi, külliyat bildirimini ve getirme taşımasını kapsar.

SpesifikasyonMaddereference_idİddia
PSR-4psr_4_autoload#x1.x2.p5Otomatik yükleyici ad alanı önekinin dizine eşlenmesi
  • /integrations/symfony/overview/ — paketin sağladıkları.
  • /integrations/symfony/configuration/ — tam yapılandırma ağacı ve hizmet tablosu.
  • /integrations/symfony/quickstart/ — ilk çalıştırılabilir denetleyici.
  • /integrations/symfony/boot-and-discovery/ — keşif ve başlatma sırası ayrıntıları.