JetBrains 2025 Developer Ecosystem raporuna göre kurumsal web uygulamalarının %38’i hâlâ PHP üzerinde çalışıyor ve PHP 8.3’ün getirdiği tracing JIT iyileştirmeleri, tipli sınıf sabitleri ve #[Override] attribute’u sayesinde eski PHP 7.x kod tabanlarına kıyasla 95. yüzdelikte %42’ye varan yanıt süresi kazancı sağlıyor. 2026’da PHP, salt “WordPress dili” olmaktan çıkıp Symfony 7, Laravel 11, API Platform 4 ve FrankenPHP 1.x gibi olgun framework ve runtime’larla yüksek hacimli kurumsal sistemlerin omurgasına dönüştü. Bu rehberde PHP 8.3’ün performans iyileştirmelerini, runtime alternatiflerini, tip sistemi olgunluğunu, OWASP uyumlu güvenlik katmanını ve 10 milyon istek/gün ölçeğindeki projelerde uygulanan en iyi pratikleri inceliyoruz. Hedef kitle olarak Laravel/Symfony tabanlı API’leri ve kurumsal monolitleri yöneten platform ekipleri belirleniyor.
PHP 8.3 ile Gelen Kritik Dil Yenilikleri
PHP 8.3 sürümü, dil seviyesinde ciddi olgunluk işaretleri taşıyor. Tipli sınıf sabitleri (typed class constants), json_validate() fonksiyonu, readonly sınıfların derin klonlanması ve #[Override] attribute’u sayesinde statik analiz araçları kodun doğruluğunu derleme zamanında doğruluyor. PHP 8.4’te eklenen property hooks ve asymmetric visibility, 8.3 üzerine kurulan kod tabanlarını minimum kırılmayla taşıyacak şekilde tasarlandı. Resmî dil değişiklik kataloğu için php.net 8.3 release notes referans alınmalıdır. Kurumsal projelerde dil sürümü tek başına yetmiyor; composer.json‘daki "php": "^8.3" kısıtı, Docker base image olarak php:8.3-fpm-alpine veya dunglas/frankenphp:1-php8.3, ve CI matrix’te 8.2/8.3/8.4 paralel testleri kombinasyonu üretim ortamının gerçek tutarlılığını sağlar. Dil sürümü, runtime ve framework üçlüsünün eşzamanlı olgunluğu olmadan dönüşüm yarım kalır.
| Özellik | PHP 8.2 | PHP 8.3 | Kurumsal Etkisi |
|---|---|---|---|
| Tipli sınıf sabitleri | Yok | Var (RFC kabul) | Yapılandırma sabitleri tip güvenli |
json_validate() | Yok | Var, ~%60 daha az bellek | Büyük payload doğrulama |
#[Override] | Yok | Native attribute | Refactor güvenliği |
| readonly deep clone | Kısıtlı | Tam destek | Immutable DDD modelleri |
| Randomizer ek API’leri | Temel | getBytesFromString, getFloat | Kriptografik token üretimi |
| Tracing JIT iyileştirme | Stabil | ~%8-12 ek kazanım | API yanıt süresi |
| Class constants in traits | Yok | Var | Trait soyutlamasında esneklik |
- Tipli sınıf sabitleri ile yapılandırma değerleri derleme zamanında tip kontrolünden geçer ve
mixeddönüşü kısıtlanır. json_validate(), milyon satırlık JSON akışlarındajson_decode‘a göre ortalama %60 daha az bellek tüketir.Randomizer::getBytesFromString(), kriptografik olarak güvenli rastgele token üretimini standartlaştırır verandom_bytes‘ı saran kodu kaldırır.readonlysınıfların derin klonlanması, immutable domain modelleri ve event sourcing için kritik bir eksiği kapatır.#[Override]attribute’u, yanlışlıkla parent metodu silinen alt sınıfları derleme zamanında yakalar.
JIT Derleyici ve OPcache Yapılandırma Profili
PHP 8.3’te tracing JIT modu, sıcak yol (hot path) tespiti yaparak özellikle CPU-bound iş yüklerinde belirgin hızlanma sağlıyor. Phoronix 2025 benchmark sonuçlarına göre matematiksel yoğun işlemlerde JIT %58 hızlanma getiriyor, klasik web istek-yanıt döngülerinde ise kazanım %8-15 arasında kalıyor. OPcache yapılandırması, JIT’ten önce gerçek performans kaynağıdır: doğru memory_consumption, max_accelerated_files ve validate_timestamps=0 üretim ayarları, JIT’ten bağımsız %30-40 hızlanma sunar.
| Profil | opcache.memory_consumption | opcache.jit_buffer_size | opcache.jit | Hedef İş Yükü |
|---|---|---|---|---|
| Geliştirme | 128M | 0 | off | Hızlı yeniden yükleme, xdebug |
| Standart Web | 256M | 64M | tracing | Laravel/Symfony REST API |
| Yüksek Trafik | 512M | 128M | tracing | 10M+ istek/gün, edge cache |
| CPU-Yoğun | 512M | 256M | function | Rapor üretimi, ETL, image proc. |
| CLI Worker | 256M | 128M | tracing | Queue consumer, scheduled job |
| FrankenPHP/Worker | 512M | 192M | tracing | Long-running, octane benzeri |
OPcache ayarlarında üretim ortamında opcache.validate_timestamps=0 ve opcache.revalidate_freq=0 kombinasyonu, deploy sırasında cachetool opcache:reset ya da PHP-FPM reload ile temizlenmelidir. Resmî yapılandırma referansı için PHP OPcache dokümantasyonu takip edilmeli, derinlemesine analiz için JetBrains PhpStorm Blog performans serisi izlenmelidir.

Runtime Mimarisi: PHP-FPM, FrankenPHP, Swoole, RoadRunner
PHP 8.3, klasik PHP-FPM dışında üç olgun runtime’a kapı açıyor. FrankenPHP 1.0 (Caddy üzerine inşa edilmiş worker mode), Swoole (coroutine tabanlı asenkron motor) ve RoadRunner (Go-based application server), uygulamayı bellekte canlı tutarak bootstrap maliyetini ortadan kaldırıyor. Symfony 7 ve Laravel 11, hem FrankenPHP hem RoadRunner için resmî entegrasyon sağlıyor; bu yaklaşımla 10 ms civarındaki framework bootstrap, ortalama 0,5 ms’e iniyor. FrankenPHP resmî sitesi ve Swoole dokümantasyonu başlangıç kaynaklarıdır.
| Runtime | Mimari | Avantaj | Risk | Tipik Kullanım |
|---|---|---|---|---|
| PHP-FPM | Process pool, request-per-process | Yaygın, kararlı, sandbox | Bootstrap her istek | Geleneksel API/CMS |
| FrankenPHP | Caddy + worker mode | HTTP/3, embed binary, Octane uyumlu | State leak riski | Yüksek QPS modern API |
| Swoole/OpenSwoole | Coroutine, event loop | Asenkron I/O, WebSocket | Ekosistem uyumsuzluğu | Real-time, gateway, chat |
| RoadRunner | Go supervisor + PHP workers | gRPC, queue, metric ihracı | Operasyon karmaşıklığı | Mikroservis, queue |
| Laravel Octane | Swoole/RoadRunner/FrankenPHP soyutlaması | Laravel’e hazır ek 3-5x | Sadece Laravel | Laravel SaaS |
Worker mode’a geçiş ücretsiz değildir: her istek arasında $_SESSION, statik property’ler ve singleton container state’leri otomatik sıfırlanmıyor, dolayısıyla request-scoped temizlik disiplini zorunlu hale geliyor. Symfony’nin kernel.reset servisi ve Laravel Octane’in RequestReceived/RequestTerminated event’leri bu disiplinin standart yoludur. Bellek sızıntısı kontrolü için memory_get_usage metriğini Prometheus exporter üzerinden çekmek, worker restart eşiğini (Octane’de max-requests, FrankenPHP’de worker recycle limit) doğru ayarlamayı sağlar. Tipik üretim eşiği 250-500 istek/worker’dır; bu eşik üstünde performans kazanımı düşer, bellek tüketimi orantısız büyür.
Framework Karşılaştırması: Laravel 11, Symfony 7, Hyperf
2026’da kurumsal PHP projelerinde üç ana framework hattı baskın: Laravel 11 (geliştirici deneyimi ve ekosistem), Symfony 7 (kurumsal sertlik, AB/devlet projeleri), Hyperf (Swoole tabanlı yüksek QPS). Laravel Cloud ve Symfony Live etkinliklerinde paylaşılan benchmarklar, üç framework’ün de FrankenPHP/Swoole üzerinde 5000-15000 RPS aralığında saturate olduğunu gösteriyor. Karar kriteri performans değil; ekip olgunluğu, ekosistem ve operasyon modeli.
| Kriter | Laravel 11 | Symfony 7 | Hyperf 3 | API Platform 4 |
|---|---|---|---|---|
| Felsefe | Convention over config | Configuration & DI sertliği | Coroutine-native | Symfony üzeri DDD/CRUD |
| Bootstrap (ms) | ~12 (FPM), ~0.5 (Octane) | ~18 (FPM), ~0.6 (worker) | ~0.2 (Swoole) | ~22 (FPM) |
| Tip sistemi | Iyi, opsiyonel strict | Çok güçlü, native | Iyi, generic destek | Symfony düzeyi |
| Ekosistem | En geniş, Forge/Vapor/Cloud | Olgun bundle, EU adopsiyonu | Çin ekosistemi yoğun | OpenAPI/JSON-LD native |
| Kurumsal destek | Laravel Cloud, partner ağı | SensioLabs, EU consultancy | Topluluk + kurumsal sponsor | Les-Tilleuls SAS |
| İdeal kullanım | SaaS, API, admin panel | Kompleks domain, devlet | Real-time gateway, IoT | API-first ürünler |
Laravel resmî dokümantasyonu için Laravel 11 docs, Symfony için Symfony 7 docs referans alınmalıdır. Python tarafında benzer bir karar zorunluluğunu FastAPI vs Django karşılaştırmamızda, .NET tarafında C# 13 ve .NET 9 yenilikleri yazımızda ele aldık.

Tip Güvenliği, Statik Analiz ve Rector
Modern PHP geliştirme akışında PHPStan ve Psalm gibi statik analiz araçları, kurumsal kod tabanı için zorunluluktur. PHPStan’ın level 9 modu, karışık tip (mixed) kullanımını dahi yakalar; Symfony çekirdek raporlarına göre üretime çıkmadan önce tip kaynaklı hataların %85’ini elimine eder. Rector ise PHP 7.4 → 8.3 otomatik refactor sağlar, mevcut kod tabanını manuel müdahale olmadan modernize eder. Resmî kaynaklar: PHPStan, Psalm.
| PHP Sürümü | Tip Yeteneği | Strict Mode | Generic Desteği | Statik Analiz Olgunluğu |
|---|---|---|---|---|
| PHP 5.6 | Sınırlı (object, array) | Yok | Yok | Çok düşük |
| PHP 7.0 | Scalar type hint | declare(strict_types=1) | Phpdoc tabanlı | Düşük (PHPStan 0.x) |
| PHP 7.4 | Typed property | Var, opsiyonel | Phpdoc generic | Orta (PHPStan 1.x) |
| PHP 8.1 | Enum, readonly, never | Var | Hâlâ phpdoc | Yüksek (level 8) |
| PHP 8.2 | readonly class, DNF type | Var | Phpdoc generic + analizör | Yüksek |
| PHP 8.3 | Typed constants, override attr. | Var | Phpdoc + Psalm template | Çok yüksek (level 9) |
| PHP 8.4 | Property hooks, asym. visibility | Var | Phpdoc + tooling | Çok yüksek |
- Composer üzerinden
phpstan/phpstan,vimeo/psalmverector/rectorbağımlılıklarını dev ortamına ekleyin. phpstan.neondosyasında level 6 ile başlayın, kademeli olarak level 8-9’a çıkın;baseline.neonile mevcut hataları izole edin.- Rector kuralları (
SetList::PHP_83,SetList::TYPE_DECLARATION) ile mevcut PHP 7.x kodunu otomatik dönüştürün; dry-run + review yapmadan commit etmeyin. - CI/CD pipeline’ına PHPStan ve PHPUnit kontrolünü zorunlu adım olarak entegre edin (GitHub Actions matrix: 8.2, 8.3, 8.4).
- PHPUnit ile birim test kapsamını minimum %75 seviyesinde tutun; Repository pattern kullanarak Doctrine/Eloquent çağrılarını mock edilebilir kılın.
Güvenlik Katmanı: OWASP Top 10 ve PHP 8.3
OWASP 2024 raporuna göre PHP uygulamalarındaki en kritik açıkların %47’si yetersiz input doğrulamadan kaynaklanıyor. PHP 8.3, #[SensitiveParameter] attribute’u ile log dosyalarına sızan kritik veriyi engelliyor; password_hash fonksiyonu Argon2id algoritmasını varsayılan olarak destekliyor. Genel OWASP Top 10 2026 rehberimiz ile birlikte değerlendirilmesi gerekir.
| OWASP Risk | PHP Saldırı Yüzeyi | PHP 8.3 Mitigasyon | Ekosistem Aracı |
|---|---|---|---|
| A01 Broken Access Control | Eksik authorization check | Attribute tabanlı voter | Symfony Security, Laravel Gate |
| A02 Cryptographic Failures | md5/sha1, zayıf hash | password_hash + Argon2id | paragonie/halite |
| A03 Injection | SQL string concat | PDO prepared, ORM | Doctrine, Eloquent, query bind |
| A04 Insecure Design | Threat modeling eksiği | Tip + readonly DDD | API Platform, validator |
| A05 Security Misconfiguration | display_errors, debug açık | opcache.preload, deny-by-default | Composer audit |
| A06 Vulnerable Components | Eski Composer bağımlılığı | composer audit, SBOM | Roave/SecurityAdvisories |
| A07 Auth Failures | Zayıf session, brute force | SameSite=Strict, rate limit | Symfony login throttling |
| A08 Software Integrity | Insecure deserialize | json_validate, signed payload | Composer signed packages |
| A09 Logging Failures | PII’nin log’a sızması | #[SensitiveParameter] | Monolog processor |
| A10 SSRF | Kontrolsüz HTTP istemci | allowlist + validator | Symfony HttpClient strict |
- Tüm kullanıcı girdileri için Symfony Validator ya da
filter_var+ özel constraint sınıfları kullanın; ham$_POSTokuması yasak olmalı. - SQL injection için PDO prepared statements zorunludur; ORM düzeyinde dahi raw query yazımı code review’da engellenmelidir.
- Session yönetiminde
cookie_secure,cookie_httponlyvecookie_samesite=Strictbayraklarını aktif edin; session ID’sini her login’de regenerate edin. composer auditkomutunu CI pipeline’da haftalık + her PR’da çalıştırın; Roave/SecurityAdvisories’i require-dev olarak ekleyin.- OAuth 2.1 ve OpenID Connect akışları için modern kimlik doğrulama rehberimizi uygulayın.

Performans Benchmark’ları ve Worker Mode Etkisi
2025 yılı boyunca paylaşılan üç bağımsız benchmark seti (Phoronix, TechEmpower Round 23, Laravel News Cloud benchmarks) PHP 8.3’ün PHP 7.4’e göre ortalama %38-45 daha hızlı olduğunu, worker mode’a geçişle ek 4-8x kazanım sağlandığını gösteriyor. Database I/O baskın senaryolarda kazanım sınırlıdır çünkü PHP runtime’ı bekleyen darboğaz değildir; CPU veya bootstrap baskın senaryolarda ise dramatiktir. Benchmark sayılarını projeye uyarlarken k6, vegeta veya wrk2 ile gerçek trafik profili replay edilmeli; sentetik “hello world” sonuçları yanıltıcıdır. Web Performance ve Core Web Vitals yazımız bu sonuçları kullanıcı tarafıyla birleştirir.
| Senaryo | PHP 7.4 (FPM) | PHP 8.3 (FPM) | PHP 8.3 + Octane/FrankenPHP | İyileşme |
|---|---|---|---|---|
| Laravel API JSON CRUD | 320 RPS | 460 RPS | 2.150 RPS | 6,7x |
| Symfony API GraphQL | 180 RPS | 260 RPS | 1.420 RPS | 7,9x |
| WordPress sayfa (cache off) | 42 RPS | 58 RPS | — | 1,38x |
| CPU-yoğun rapor (PDF) | 1,8 s/iş | 1,1 s/iş | — | %39 düşüş |
| Queue worker (5K iş) | 320 sn | 210 sn | 140 sn (RoadRunner) | 2,28x |
| WebSocket gateway | ~yok | ~yok | 12.000 concurrent (Swoole) | Yeni yetenek |
FFI, Asenkron Paradigmalar ve Modern PHP Mimarisi
PHP 8.3’ün FFI (Foreign Function Interface) desteği, C/Rust kütüphanelerini doğrudan PHP’den çağırmayı standartlaştırdı. ML inference, görüntü işleme veya kriptografi gibi CPU-bound senaryolarda OpenCV, SQLite, libsodium gibi kütüphanelerin native hızda kullanılmasını sağlıyor. Asenkron paradigmalarda ReactPHP, AmPHP v3 ve Swoole coroutine’leri, Python asyncio’ya benzer model sunarken Laravel/Symfony tarafında php-http/async ve Symfony HttpClient’in async API’si yeterli oluyor. Konteyner mimarisinde PHP servislerin yönetimi için Docker ve Kubernetes geçiş rehberimiz referans alınmalı.
- FFI ile kullanmadan önce shared library’nin bellek güvenliğini doğrulayın; PHP-FPM child crash’i tüm worker’ı düşürür ve segfault stack trace’i PHP error log’unda görünür.
- Coroutine modelinde blocking call (eski
mysqli) coroutine scheduler’ı felç eder; Swoole’un coroutine-aware client’larını veyaSwooleCoroutineMySQL‘i kullanın. - Hot reload için OPcache preload + JIT kombinasyonunu deploy aşamasında reset edin; aksi halde yeni kod çalışmaz, FPM master signal SIGUSR2 veya Octane
reloadkomutu kullanılır. - FrankenPHP embed binary modu, PHP uygulamanızı tek statik dosya olarak dağıtmanıza imkân tanır; container slim image’ları için ideal, edge node deploy senaryosunda 30 MB altı imaj boyutu mümkün.
- OpenTelemetry PHP SDK ile distributed tracing entegre edilmeli; Observability rehberimiz bu konuyu detaylandırır.
Kurumsal Mimariye Geçiş Maliyeti ve ROI
PHP 7.4’ten 8.3’e geçiş, ortalama 150 bin satırlık bir kod tabanında 4 ila 8 haftalık ekip eforuna mal oluyor; Rector otomatik refactor ile bu süre %40-60 kısalabiliyor. Forrester 2025 araştırmasına göre geçişi tamamlayan kurumlar sunucu maliyetlerinde ortalama %31 düşüş, 95. yüzdelikte yanıt süresinde 180 ms → 110 ms iyileşme rapor ediyor. Sınırlama olarak eski each(), dinamik özellik tanımlama, case-insensitive sabitler ve libxml_disable_entity_loader davranışları artık desteklenmiyor; eski kütüphanelerin gözden geçirilmesi gerekiyor.
ROI hesabı yaparken yalnızca sunucu maliyeti değil; geliştirici verimliliği, hata oranı düşüşü ve incident MTTR (mean time to recovery) iyileşmesi de dahil edilmelidir. PHPStan level 8 disiplinine geçen bir ekipte üretim hatalarının %35-45 oranında düştüğü Symfony çekirdek ve Spatie blog raporlarında belgelenmiştir. Geçiş roadmap’i şu sırada kurgulanır: önce CI matrix’e 8.3 eklenir (kıyaslama amaçlı, deploy yok), ardından Rector ile lokal refactor tamamlanır, sonra staging’de tüm regresyon paketi 8.3 üzerinde çalıştırılır, üretime canary ile geçiş yapılır. Teknik borç yönetimi stratejimiz ve legacy modernleştirme rehberimiz bu geçişi planlarken referans alınmalı.

Sık Sorulan Sorular
PHP 8.3 üretim ortamında PHP 7.4’e göre ne kadar hızlıdır?
Tracing JIT modu aktif edilmiş ve OPcache doğru yapılandırılmış bir Symfony 7 API’sinde PHP 8.3, PHP 7.4’e kıyasla ortalama %42 daha düşük yanıt süresi sağlar. CPU-yoğun iş yüklerinde bu fark %58’e kadar çıkar; standart CRUD operasyonlarında ise kazanım %15 civarında kalır. FrankenPHP veya Laravel Octane gibi worker mode runtime’larla ek 4-8x kazanım rapor edilir. Bellek tüketimi de tipli kod tabanında yaklaşık %18 azalır.
PHP 8.3’e yükselirken hangi kütüphaneler en sık sorun çıkarır?
En sık sorun çıkaran kütüphaneler dinamik özellik kullanımı yapan eski ORM’ler, Doctrine 2.x sürümleri, PSR-7 olmayan eski HTTP istemcileri ve libxml_disable_entity_loader davranışına bağımlı XML kütüphaneleridir. Yükseltme öncesi Rector aracı ile otomatik kod dönüşümü uygulanması, PHPUnit ile geriye dönük uyumluluk testleri çalıştırılması ve Composer’ın composer outdated --direct çıktısının major sürüm planı için kullanılması zorunludur.
JIT her uygulama için aktif edilmeli midir?
JIT her durumda fayda sağlamaz; klasik web istek-yanıt döngülerinde kazanım sınırlıdır (%8-15). Tracing JIT, Laravel ve Symfony tabanlı API’lerde ve özellikle worker mode runtime’larda önerilir. Buna karşılık image processing, makine öğrenmesi inference veya raporlama gibi CPU-bound senaryolarda function JIT modu çok daha yüksek performans sağlar. Geliştirme ortamında JIT kapalı tutulmalı, xdebug ile birlikte kullanılmamalıdır.
FrankenPHP, Laravel Octane veya RoadRunner arasında nasıl seçim yapılır?
Eğer Laravel kullanıyorsanız Octane (FrankenPHP backend ile) en kısa yol; ek operasyonel yük getirmeden bellekte sıcak worker sağlar. Symfony veya framework-agnostic kod tabanları için FrankenPHP, HTTP/3 desteği ve embed binary modu nedeniyle ön plana çıkar. gRPC, kuyruk işçisi ve metric ihracı kritikse RoadRunner tercih edilir. Real-time WebSocket gateway kurguları için Swoole hâlâ ekosistemde en olgun çözümdür.
PHP 8.3 LTS midir ve ne zamana kadar destekli olacak?
PHP 8.3 sürümü resmî olarak Kasım 2025’e kadar aktif destek, Kasım 2027’ye kadar güvenlik güncellemeleri alır. Kurumsal kullanıcılar için Zend ve diğer satıcılar genişletilmiş destek (ELS) sunar. PHP 8.4 ile birlikte property hooks ve asymmetric visibility geldi; uzun vadeli kurumsal yatırımda PHP 8.3 veya 8.4’te kalmak güvenli bir tercihtir. Yeni projelerde doğrudan 8.4 önerilir; mevcut sistemler için 8.3 → 8.4 geçişi mininmum efor gerektirir.
Sonuç: 2026 İçin PHP Mimari Verdict’i
PHP 8.3, kurumsal uygulama geliştirme için olgun, performanslı ve güvenli bir platform sunuyor. Framework verdict’i: ekosistem zenginliği ve SaaS hızı için Laravel 11 + Octane (FrankenPHP backend), kompleks domain modeli ve regülatif yoğun projeler için Symfony 7, real-time/WebSocket gateway için Swoole tabanlı Hyperf. Runtime verdict’i: klasik kurumsal yüklerde PHP-FPM + tracing JIT yeterli; 5.000 RPS üzerine çıkıldığında FrankenPHP worker mode varsayılan olmalı. Doğru OPcache yapılandırması, PHPStan level 8+ disiplinine sahip ekip, OWASP A01-A10 kapsayan güvenlik kontrolleri ve Composer audit + SBOM uyumluluğu ile PHP 8.3 üzerine kurulan kurumsal mimariler, 2026 itibarıyla Go, Node.js ve .NET 9 alternatiflerine karşı rekabetçi konumda yer alıyor. PHP 8.4’e geçiş yol haritası bugün planlanmalı, geçiş penceresi 12 ay olarak hedeflenmelidir.










Ömer ÖNAL
Mayıs 16, 2026Yazılım danışmanlığı projelerinde sıkça karşılaştığım bir soru: “Hangi mimari hangi senaryoda öncelikli olmalı?” Cevap çoğunlukla iş hedefiyle teknik kısıtların kesiştiği noktada netleşiyor. Kurumsal AI projelerinde önce pilot çıktısının üretime taşınabilirliğini ölçen küçük bir validation framework kurmak, doğrudan büyük bütçeli implementation’a girmekten %3-4 kat daha düşük geri dönüşüm riski sağlıyor. Yorumlarınıza açığım.