NextPDF Symfony paketinin kurulumu
Bir bakışta
“Bir bakışta” başlıklı bölümPaketi 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.
Gereksinimler
“Gereksinimler” başlıklı bölümPaketin composer.json dosyası şu kısıtlamaları tanımlar.
| Bağımlılık | Kı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.
İsteğe bağlı paketler
“İsteğe bağlı paketler” başlıklı bölümPaketin composer.json dosyası bu paketleri suggest altında bildirir. Bu paketleri, sağladıkları davranışlara ihtiyaç duyduğunuzda ekleyin:
| Paket | Eklediği |
|---|---|
nextpdf/artisan | Chrome CDP HTML işleme; derleme zamanında otomatik olarak algılanır |
nextpdf/premium | PDF/A arşivleme ve dijital imzalama (Pro katmanını kurar); derleme zamanında otomatik olarak algılanır |
symfony/messenger | Messenger işleyicisi aracılığıyla eşzamansız PDF oluşturma |
Composer ile kurulum
“Composer ile kurulum” başlıklı bölümcomposer require nextpdf/symfonyPaket, 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.
Paketi kaydetme
“Paketi kaydetme” başlıklı bölümSymfony Flex (önerilen)
“Symfony Flex (önerilen)” başlıklı bölümPaket, 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).
Elle kayıt (Flex yok)
“Elle kayıt (Flex yok)” başlıklı bölümUygulamanı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.
Yapılandırma dosyasını sağlama
“Yapılandırma dosyasını sağlama” başlıklı bölümPaketin 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.
Kurulumu doğrulama
“Kurulumu doğrulama” başlıklı bölümKonteynerin paket hizmetlerini gördüğünü doğrulayın:
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:
php bin/console debug:config nextpdfBu komut, birleştirilmiş yapılandırma ağacını yazdırır: geçersiz kılmalarınız ve varsayılanlar.
Sınır durumları ve dikkat edilmesi gerekenler
“Sınır durumları ve dikkat edilmesi gerekenler” başlıklı bölüm- Core kısıtlama aralığı — paket
nextpdf/core^3.0 || ^5.2aralığı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ıncomposer.jsondosyasında tek bir ana sürümü sabitleyin. - Eksik uzantı koruması —
php bin/consolebaşlatma sırasındaext-mbstringveyaext-zlibile ilgili bir ileti vererek başarısız olursa, adı belirtilen uzantıyıphp.iniiç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.phpdosyasını elle düzenleme adımını izleyin.
Uygunluk
“Uygunluk” başlıklı bölümHer 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.
| Spesifikasyon | Madde | reference_id | İddia |
|---|---|---|---|
| PSR-4 | psr_4_autoload#x1.x2.p5 | Otomatik yükleyici ad alanı önekinin dizine eşlenmesi |
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- /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ı.