PHP UYGULAMANIZI
GÜÇLENDİRİN
Muhittin Özer
PHPKonf '15
NEDEN PHP?
• Open Source
• Kolay
• öğrenilir,
• anlaşılır,
• çalıştırılır,
• Kaynak
• çok sayıda
• Türkçe
• Topluluk
• İş İmkanı
PHP’NİN DEZAVANTAJLARI!!!
• Performans (?)
• Büyük çaplı uygulamalarda 

yetersiz kalması (?)
• Real-Time işlemlerde tek 

başına yetersiz oluşu (?)
PHP’NİN DEZAVANTAJLARI!!!
• Spagetti koda yatkın
oluşu (?)
• Güvenlik zaafiyetleri (?)
• Ayağa düşmüş olması (?)
MODERN
CACHING

(ÖNBELLEKLEME)

TEKNOLOJİLERİ
CACHE TÜRLERİ
• Tarayıcı (Browser) Cache
• Veri (Data) Cache
• Web Hızlandırıcılar (Accelerators)
TARAYICI (BROWSER) CACHE
• HTML
• XML
• JSON
• Görseller
• JS, CSS dosyaları
TARAYICI (BROWSER) CACHE
TARAYICI (BROWSER) CACHE
Anahtar Kelime: Leverage Browser Caching
VERİ (DATA) CACHE
• Sıklıkla ihtiyaç duyulan
veriler
• Nadir değişen veriler
• Ortalama değişme süresi
içerisinde sıklıkla ihtiyaç
duyulan veriler
VERİ (DATA) CACHE
• Derlenen PHP kodları
• Şablon (View) Katmanı
• Template Engine
• Output Caching
VERİ (DATA) CACHE
YÖNTEMLERİ
• Üretilen PHP kodları
• Template Engine Syntax’ından üretilen view katmanı
• Output Sayfaları
• Kullanılacak verilerin tutulduğu txt,csv,json vb formatındaki cache
dosyaları
1. Dosya olarak cache tutmak
VERİ (DATA) CACHE
YÖNTEMLERİ
• Opcode (Bytecode) Cache: PHP kodunun derlenmiş halini
hafızada tutarak tekrar derleme yapmamasını sağlarlar
• APC, XCache, ZendOptimizer vb.
• Data Store Cache: Yazılım içerisinde elde edilen veriler ilgili
kütüphanelerle hafızada cache’lenir ve cache ömrü boyunca
hafızadan okunur
• Memcached,APC,APCu vb.
2. Hafızada (Memory) cache tutmak
VERİ (DATA) CACHE
YÖNTEMLERİ
3. Veritabanında cache tutmak
SQL, MongoDB veya NoSQL, Redis
WEB HIZLANDIRICILAR
(ACCELERATORS)
MESAJ KUYRUKLAMA 

(MESSAGE QUEUE)

TEKNOLOJİLERİ
NEDEN İHTİYAÇ DUYULUR?
• Bildirim İşlemleri
• E-Mail
• SMS
• Push-Notification
NEDEN İHTİYAÇ DUYULUR?
• 3. Parti Entegrasyonlar
• ERP
• CRM
• Muhasebe
• …
NEDEN İHTİYAÇ DUYULUR?
• Veri Senkronizasyonu
• Farklı veritabanları
• AynıVeritabanı
NASIL ÇALIŞIR?
Publisher (Gönderen)
Consumer (İşlemYapan)
POPÜLER MQ SİSTEMLERİ
BeanstalkD
ARAMA MOTORU

(SEARCH ENGINE)

TEKNOLOJİLERİ
NEDEN İHTİYAÇ DUYULUR?
• Full-Text arama işlemlerinde database sorgularının
performans problemi
• Büyük ve dağınık verilerde kısa sürede sonuç
üretmek
• Veri analizi işlemleri
NEDEN İHTİYAÇ DUYULUR?
• Daha doğru arama sonuçları sunmak
• İlişkisel verilerle kompleks arama/filtreleme
işlemleri yapabilmek
NE SUNAR?
HIZ

Veri boyutu artsa bile
NE SUNAR?
Farklı tipteki verilerden anlamlı sonuçlar üretir
NE SUNAR?
Arama sonuçlarını sizin belirlediğiniz kriterlere göre
önceliklendirir
NE SUNAR?
Önerme ve Düzeltme
NE SUNAR?
Ölçeklenebilir
POPÜLER ARAMA MOTORLARI
Karşılaştırma
Muhittin Özer

Atölye15
TEŞEKKÜRLER
/muhittinozer/muhittin/muhittin

PHPkonf'15 - PHP Uygulamanızı Güçlendirin