Saf PHP ile Modern Web: Framework'süz Kodlamanın 7 Avantajı
Laravel, Symfony, CodeIgniter... Herkes framework kullanıyor. Peki neden kendi sitemde saf PHP tercih ettim? 7 somut sebep ve ölçüm sonuçları.
Modern web geliştirme dünyasında framework kullanmak neredeyse varsayılan haline geldi. Laravel, Symfony, CodeIgniter, CakePHP... Her biri kendi ekosistemiyle geliyor.
Ama ben bilginsayar.com'u saf PHP ile yazdım. Ne Laravel, ne Symfony, ne başka bir framework. Sadece PHP 8.3, saf CSS, vanilla JavaScript ve kendi yazdığım minimal bir mimari.
Sonuç? Lighthouse'un dört kategorisinde de 100. Ve framework'lü bir sitede bunu yakalamak çok daha zor.
Bu yazıda framework'süz kodlamanın 7 somut avantajını anlatacağım. Her biri kendi sitemde test edilmiş, ölçülmüş ve kanıtlanmış.
Önce Netleştirelim: Framework Kötü Değil
Yanlış anlaşılmasın. Framework'ler belirli durumlar için mükemmel araçlardır:
- Büyük ekiplerle çalışıyorsanız
- Karmaşık iş kuralları olan uygulamalar yapıyorsanız
- Kod standardizasyonu kritikse
- Uzun süreli bakım için yapı şartsa
Ama küçük-orta ölçekli projeler için framework getirdiği faydanın yanında ciddi bir yük de taşır. İşte o yükün 7 maddesi.
Avantaj 1: Hız — Framework Yükü Yok
Her framework'ün bir çalışma zamanı maliyeti vardır. Laravel'in bootstrap sürecini başlatmak, autoloader'ı devreye almak, container'ı hazırlamak, middleware'leri çalıştırmak — bunlar milisaniyeler ekler.
Benim sitemde ise:
- Router: ~50 satır kod, ortalama 0.5 ms
- Config yükleme: Tek
require, 0.2 ms - DB bağlantısı (PDO): Lazy load, sadece gerekince 1-2 ms
- Toplam bootstrap: Ortalama 3 ms
Karşılaştırma:
| Yapı | Bootstrap Süresi | İstek Başına Maliyet |
|---|---|---|
| Saf PHP (benim) | ~3 ms | Neredeyse yok |
| Laravel | ~30-80 ms | Her istekte yük |
| Symfony | ~40-100 ms | Her istekte yük |
| WordPress | ~50-150 ms | Her istekte yük |
Üstelik statik HTML cache ile bu bile neredeyse sıfırlanıyor. Sayfa ilk derlemeden sonra diske yazılıyor, sonraki ziyaretler 5-10 ms yanıt süresiyle geliyor.
Ölçüm (bilginsayar.com): TTFB ortalama 21 ms (canlı sunucu), 16 ms (yerel).
Avantaj 2: Güvenlik — Daha Az Saldırı Yüzeyi
Framework, kodu sizin için yazar ama aynı zamanda bağımlılıklar getirir. Her bağımlılık bir potansiyel güvenlik açığıdır.
Laravel bir projede tipik olarak 80-150 arası paket kullanır. Symfony daha da fazla. Bunların her biri:
- Güncelleme gerektirir
- CVE yayınlanabilir
- Kırılma riski taşır
- Saldırı yüzeyi oluşturur
Saf PHP'de ise:
- Sadece PHP kendisi (sürekli güncellenen, olgun bir dil)
- PDO (prepared statements için yerleşik)
- password_hash() (Argon2ID desteği PHP 7.4+)
- random_bytes() (kriptografik güvenli token)
- hash_equals() (timing attack koruması)
Hepsi dilin çekirdeğinde. Hiçbirinin bozulma riski yok, hiçbirinin CVE'si yok.
Kendi Sitemden Örnek
Sitemde kullandığım güvenlik katmanları:
// SQL injection koruması
$kullanici = db_satir('SELECT * FROM kullanicilar WHERE id = ?', [$id]);
// XSS koruması
echo htmlspecialchars($metin, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
// Şifre hash'leme
password_hash($sifre, PASSWORD_ARGON2ID);
// CSRF token
hash_equals($_SESSION['csrf_token'], $token);
// Kriptografik token
bin2hex(random_bytes(32));
Beş satır. Beş katman koruma. Hiç framework gerekmiyor.
Avantaj 3: Öğrenme Eğrisi — Sadece PHP Biliyorsan Yeter
Framework öğrenmek demek:
- Framework'ün felsefesini öğrenmek
- Klasör yapısını ezberlemek
- CLI komutlarını öğrenmek
- ORM söz dizimini öğrenmek
- Blade/Twig template dilini öğrenmek
- Dependency injection container'ını anlamak
- Middleware zincirini kavramak
- Event/Listener yapısını öğrenmek
Bu liste böyle uzar gider. Her framework kendi DSL'ini (domain-specific language) getirir.
Saf PHP'de ise:
<?php
$kullanicilar = $pdo->query('SELECT * FROM kullanicilar')->fetchAll();
foreach ($kullanicilar as $k) {
echo '<p>' . htmlspecialchars($k['ad']) . '</p>';
}
Bu kodu herhangi bir PHP bilen anlar. Framework bilgisi gerekmez.
Sonuç
Yeni bir geliştirici işe alırsanız:
- Laravel projesi: 1-2 hafta onboarding
- Saf PHP projesi: 1-2 gün onboarding
Bakım maliyeti düşer, ekip değişimi kolaylaşır.
Avantaj 4: Tam Kontrol — Sihir Yok, Her Şey Açık
Framework'lerin en büyük cazibesi "sihirli" olmasıdır. Tek satır kod, arka planda 50 şey yapar. Ama sihir demek, kontrolü kaybetmek demektir.
Örnek: Laravel'de Bir Route
Route::get('/blog/{slug}', [BlogController::class, 'show']);
Bu ne yapar? Arka planda:
- Route service provider'a kayıt
- Middleware stack kontrolü
- Controller resolution (container)
- Dependency injection
- Model binding
- Response formatting
- Event dispatch
Kaç tanesini anlıyorsunuz? İlk gün hepsini anlamak zor. Debug ederken "neden çalışmıyor?" sorusu dakikalara, saatlere dönüşebilir.
Saf PHP'de Aynı Route
// rotalar.php
$router->ekle('blog/{slug}', 'blog/detay.php');
// router.php — basitleştirilmiş
foreach ($this->rotalar as $yol => $hedef) {
if (preg_match('#^' . $yol . '$#', $this->url)) {
require BS_PUBLIC . '/' . $hedef;
return;
}
}
Toplam 15 satır. Ne yaptığı belli. Debug ederken tek yere bakarsınız.
Sihir Yok = Sürpriz Yok
Kendi kodunuzu tam anlıyorsunuz. Bir bug çıkarsa, saatlerce "framework'ün içinde ne oluyor?" diye düşünmezsiniz. Kodu okur, sorunu bulur, düzeltirsiniz.
Sitemden örnek: Görsel pipeline'daki bir bug'ı 3 dakikada çözdüm. Çünkü her satır benim yazdığım koddu.
Avantaj 5: Barındırma — Daha Az Kaynak Tüketimi
Framework'lü projeler daha fazla RAM ve CPU ister.
| Yapı | Minimum RAM | CPU Kullanımı |
|---|---|---|
| Saf PHP | 128 MB yeterli | Çok düşük |
| Laravel | 256-512 MB tercih edilir | Orta-yüksek |
| Symfony | 256-512 MB | Orta-yüksek |
| WordPress (büyük eklenti seti) | 512 MB - 1 GB | Yüksek |
Bu, doğrudan barındırma maliyetine yansır.
Kendi Sitemdeki Gerçek Veri
Hostinger Premium plan (5.99$/ay):
- Disk: 1.5 GB (video, görsel, kod dahil)
- Trafik: 100 GB/ay
- CPU: 1 çekirdek, %1 ortalama kullanım
- RAM: 23 MB ortalama
23 MB RAM. Laravel aynı sitede muhtemelen 150-200 MB kullanırdı.
Sonuç
Aynı sunucu üzerinde:
- Saf PHP: 5-10 site rahat çalışır
- Framework: 1-2 site zorlanır
Maliyet avantajı: Yıllık %50-70 tasarruf.
Avantaj 6: Gereksiz Katman Yok — Doğrudan Sorgu
ORM (Object-Relational Mapping) framework'lerin en popüler özelliğidir. Ama her ORM bir katman daha demektir.
Örnek: Laravel Eloquent
$yazilar = Yazi::where('aktif', 1)
->orderBy('yayin_tarihi', 'desc')
->limit(10)
->get();
Bu aslında şuna çevrilir:
SELECT * FROM yazilar
WHERE aktif = 1
ORDER BY yayin_tarihi DESC
LIMIT 10;
Yani aynı SQL. Ama iki katman arasında gidip geliyor:
- PHP → ORM metotları
- ORM → Query Builder
- Query Builder → SQL
- SQL → PDO
- PDO → MySQL
Her adım bellek ve CPU tüketir. Üstelik birçoğu obje oluşturur — yani Yazi objesi, Collection objesi vb.
Saf PHP'de Aynı Sorgu
$yazilar = db_liste(
'SELECT * FROM yazilar
WHERE aktif = 1
ORDER BY yayin_tarihi DESC
LIMIT 10'
);
Tek katman. Sonuç direkt array. Obje yok, magic method yok, reflection yok.
Ölçüm
Aynı veriyi (1000 satır):
| Yapı | Süre | Bellek |
|---|---|---|
| Laravel Eloquent | 45 ms | 12 MB |
| Laravel Query Builder | 22 ms | 4 MB |
| Saf PDO | 8 ms | 0.5 MB |
5 kat hız farkı. Cache olmadan.
Avantaj 7: Uzun Vadeli — Framework Değişir, PHP Kalır
Bu en felsefi ama belki de en önemli madde.
Framework'lerin Ömrü
- CodeIgniter 3 → 2015'te popülerdi, 2020'de "artık bakımda değil"
- Symfony 2 → 2015'te popülerdi, 2021'de EOL
- CakePHP 2 → 2014'te popülerdi, 2017'de EOL
- Yii 1 → 2013'te popülerdi, 2020'de EOL
- Zend Framework → 2019'da "Laminas" oldu
Her framework bir gün ölür. Ya topluluk dağılır, ya şirket desteği biter, ya başka bir framework öne çıkar.
Framework Ölünce Ne Olur?
Projeniz eski framework'e bağlı kalır ve şu seçenekler kalır:
- Eski framework ile devam → Güvenlik açıkları, uyumsuzluklar birikir
- Yeni framework'e göç → 6 ay-2 yıl sürer, ciddi maliyet
- Sıfırdan yazma → En kötü senaryo
PHP'nin Ömrü
PHP 1995'ten beri hayatta. 30 yıldır kesintisiz geliştiriliyor. Şu an PHP 8.3 aktif, PHP 9.0 yolda.
Kendi yazdığınız saf PHP kodu:
- 10 yıl sonra da çalışır
- 20 yıl sonra da çalışır
- PHP 9 çıkınca küçük uyarlamalarla çalışmaya devam eder
Kendi Sitemde Örnek
bilginsayar.com'un kodu framework'e bağımlı değil. Yarın:
- Laravel'in yeni sürümü çıksa → Etkilenmez
- Symfony felsefesi değişse → Etkilenmez
- Yeni bir framework popüler olsa → Etkilenmez
Sadece PHP sürümüyle uyumluluğu korursam, kod on yıllar boyunca çalışır.
Kısa Vadeli vs Uzun Vadeli
Kısa vadede framework daha hızlı. İlk projeyi 2 haftada çıkarırsınız, saf PHP'de 3 hafta sürer.
Uzun vadede saf PHP daha hızlı. 5 yıl sonra framework değişir, saf PHP aynı kalır.
Framework Ne Zaman Gerekli?
Dürüst olayım: Saf PHP her zaman doğru seçim değil. Framework'ün gerçekten gerekli olduğu durumlar var:
Framework Kullanın Eğer:
- Ekip 5+ kişiyse → Kod standardizasyonu şart
- İş kuralları karmaşıksa → Domain-Driven Design gerekir
- Yıllarca geliştirilecekse → Yapısal disiplin lazım
- Hazır paketler kritikse → Authentication, payment, queue gibi
- Test otomasyonu yoğunsa → Framework'ün test araçları avantaj
Saf PHP Kullanın Eğer:
- Küçük-orta ölçekli projeyse (blog, landing, portfolyo, araç sitesi)
- Hız öncelikliyse (Lighthouse 100, Core Web Vitals)
- Tek geliştirici veya 2-3 kişilik ekipse
- Barındırma maliyeti önemliyse
- Uzun vadeli bakım istiyorsanız (framework ölmesin)
Altın Kural
İhtiyacınız kadar araç kullanın. Ne bir eksik, ne bir fazla.
- "Laravel kullanmak profesyonellik" değildir.
- "Saf PHP kullanmak amatörlük" değildir.
Doğru araç, doğru iş için.
Kendi Sitemden Somut Kanıtlar
1. Lighthouse Skoru
Masaüstü:
- Performance: 100
- Accessibility: 100
- Best Practices: 100
- SEO: 100
Mobil:
- Performance: 100
- Accessibility: 100
- Best Practices: 100
- SEO: 100
Core Web Vitals:
- LCP (Largest Contentful Paint): 0.3 sn (hedef: <2.5 sn)
- FCP (First Contentful Paint): 0.3 sn (hedef: <1.8 sn)
- CLS (Cumulative Layout Shift): 0 (hedef: <0.1)
- TBT (Total Blocking Time): 0 ms (hedef: <200 ms)
- SI (Speed Index): 0.9 sn (hedef: <3.4 sn)
- TTI (Time to Interactive): 0.3 sn (hedef: <3.8 sn)
Bunları Laravel ile yakalamak çok zor. Çünkü framework'ün kendisi yük getiriyor.
2. Kod İstatistikleri
- Toplam PHP satırı: ~8.500
- Framework: Yok
- Composer paketi: Yok
- Harici kütüphane: Yok
- Tek CSS dosyası: 28 KB (Brotli ile 7 KB)
- Tek JS dosyası: 12 KB (Brotli ile 4 KB)
3. Barındırma
- Hostinger Premium: 5.99$/ay
- Ortalama RAM: 23 MB
- Ortalama CPU: %1
- Disk kullanımı: 1.5 GB
Bu kaynaklarla 10 site daha barındırabilirim.
Sıkça Sorulan Sorular
Framework'süz kod yazmak zor mu?
Hayır. Öğrenme eğrisi daha kısa bile olabilir. Framework'ün kendi dilini öğrenmek yerine, sadece PHP öğreniyorsunuz.
Güvenlik riski var mı?
Framework'ler güvenlik için hazır çözümler sunar ama doğru kullanılmazsa boşuna. Saf PHP'de:
- PDO prepared statement
- password_hash() + Argon2ID
- CSRF token + timing-safe karşılaştırma
- XSS için htmlspecialchars()
Bu dört şeyi öğrenmek 1 saatlik iş. Framework gerekmez.
Ekip büyürse ne olur?
2-3 kişiye kadar saf PHP sorunsuz. 5+ kişi olursa framework'e geçişi düşünmek mantıklı. Ama o zaman da sıfırdan yazmazsınız — mevcut kodu kademeli taşırsınız.
Bakım kolay mı?
Daha kolay. Çünkü:
- Debug tek yere bakmak demek (framework'ün içine değil)
- Bug bulmak hızlı
- Yeni özellik eklemek hızlı
- Yeni geliştirici onboarding 1-2 gün
Framework'süz öğrenmeye nereden başlarım?
- PHP 8.3 resmi dokümantasyonunu okuyun
- PDO ile DB kullanımını öğrenin
- Basit bir router yazın (50 satır)
- Basit bir template sistemi yapın (30 satır)
- İlk projenizle başlayın
Hangi projeler için uygun?
- Kişisel blog
- Portfolyo sitesi
- KOBİ tanıtım sitesi
- Landing page
- Araç/utility siteler
- Küçük e-ticaret
Hangi projeler için uygun değil?
- SaaS (multi-tenant)
- Kurumsal ERP/CRM
- Sosyal ağ
- Büyük e-ticaret (10.000+ ürün)
- Çoklu dil + çoklu para birimi + vergi yönetimi gibi karmaşık sistemler
Sonuç
Framework'ler harika araçlar. Ama her araca ihtiyacınız yok.
Ben bilginsayar.com'u saf PHP ile yazdım. Sonuç:
- ✅ Lighthouse 100/100/100/100
- ✅ AI-GEO skoru %100
- ✅ TTFB 21 ms (canlıda)
- ✅ %50-70 barındırma tasarrufu
- ✅ Uzun vadeli bakım kolaylığı
Framework kullanmak profesyonellik değil. Doğru araç seçmek profesyonellik.
Küçük-orta ölçekli projeniz varsa, bir de framework'süz deneyin. Sonuç sizi şaşırtabilir.
Peki Siz Ne Yapacaksınız?
Hafta 1: Saf PHP ile küçük bir test projesi yapın. Basit bir blog veya landing page.
Hafta 2: Aynı projeyi bir framework ile yazın. Süre ve karmaşıklığı karşılaştırın.
Hafta 3: Kendi projeniz için hangisinin uygun olduğuna karar verin.
Rakamlar konuşsun.
Yardım İster misiniz?
Saf PHP ile hızlı, güvenli ve ölçeklenebilir web siteleri yapıyorum. Modern mimari, Lighthouse %100, uzun vadeli bakım.
Bu arada sitemde framework'süz kodlamayı destekleyen ücretsiz araçlar var:
- Lighthouse Denetimi — Sitenizin hız skorunu ölçün
- HTTP Header Denetleyici — Güvenlik başlıklarını kontrol edin
- Görsel Dönüştürücü — Görselleri AVIF/WebP'ye çevirin
- AI-GEO Denetimi — AI arama motoru hazırlığınızı test edin
Hepsi ücretsiz, kayıt gerekmez, veri toplamaz.
Not: Bu yazıyı yazarken kendi sitemi kullandım. Tüm ölçümler canlı siteden alındı. Lighthouse skorumu istediğiniz zaman sitemdeki araçla doğrulayabilirsiniz.
Bu yazıyı faydalı buldunuz mu?
Yeni analiz, blog yazısı veya araç yayınladığımızda kısa bir e-posta gönderiyoruz. Reklam yok, spam yok, istediğiniz an tek tıkla çıkabilirsiniz.