Yükleniyor...

Cookie'ler

Cookie'ler, PHP'de kullanıcı tarayıcısında saklanan küçük veri parçalarıdır ve web uygulamalarında kullanıcı durumunu yönetmek için kritik öneme sahiptir. HTTP protokolü stateless olduğundan, her istek sunucuya bağımsız olarak iletilir; cookie'ler bu sınırlamayı aşarak kullanıcıya özgü verileri saklamayı sağlar. Cookie'ler oturum yönetimi, kullanıcı tercihleri, alışveriş sepeti verileri ve uygulama içi takip gibi senaryolarda yaygın olarak kullanılır.
PHP'de cookie oluşturmak için setcookie() fonksiyonu kullanılır, mevcut cookie'leri okumak için ise $_COOKIE süper globali devreye girer. Gelişmiş PHP projelerinde cookie yönetimi, veri yapıları, algoritmalar ve OOP prensipleriyle birleştirilerek güvenli ve sürdürülebilir kod yazmayı gerektirir. Bu eğitimde okuyucu, cookie oluşturma, okuma, güncelleme ve silme işlemlerini hem prosedürel hem de nesne yönelimli yaklaşımlarla öğrenecektir. Ayrıca hata yönetimi, performans optimizasyonu ve güvenlik önlemleri konusunda ileri seviyede bilgiler sunulacaktır.
Okuyucular bu ders sonunda, cookie'leri gerçek dünya projelerinde uygulayabilecek, güvenli ve ölçeklenebilir bir PHP mimarisi tasarlayabilecek seviyeye ulaşacaktır.

Temel Örnek

php
PHP Code
<?php
$cookie_name = "kullanici";
$cookie_value = "AhmetYilmaz";

// Cookie'yi 7 gün boyunca geçerli olacak şekilde oluştur
setcookie($cookie_name, $cookie_value, time() + (7 * 24 * 60 * 60), "/");

// Cookie mevcut mu kontrol et
if(isset($_COOKIE[$cookie_name])) {
echo "Hoşgeldiniz, " . $_COOKIE[$cookie_name] . "! Cookie ile tanımlandınız.";
} else {
echo "Cookie bulunamadı. Yeni cookie oluşturuluyor.";
}
?>

Bu temel örnekte, cookie adı ve değeri tanımlanmış ve setcookie() fonksiyonu ile tarayıcıya gönderilmiştir. time() + (7 * 24 * 60 * 60) ifadesi cookie'nin 7 gün boyunca geçerli olmasını sağlar. "/" parametresi, cookie'nin tüm domain genelinde erişilebilir olmasını garantiler. isset() fonksiyonu kullanılarak cookie'nin varlığı kontrol edilir; böylece olmayan bir cookie okunmaya çalışıldığında oluşabilecek hatalar engellenir. $_COOKIE süper globali, tarayıcıdan gelen cookie verilerini okumak için kullanılır. Bu yapı, PHP’de cookie yönetiminin temel kavramlarını, güvenli okuma ve koşullu mantık kullanımını göstermektedir.

Pratik Örnek

php
PHP Code
<?php
class KullaniciCookie {
private string $cookieAdi = "kullanici";
private int $sure = 604800; // 7 gün

public function __construct(private string $kullaniciAdi) {}

public function olustur(): void {
if(!isset($_COOKIE[$this->cookieAdi])) {
setcookie($this->cookieAdi, $this->kullaniciAdi, time() + $this->sure, "/");
}
}

public function oku(): ?string {
return $_COOKIE[$this->cookieAdi] ?? null;
}

public function sil(): void {
setcookie($this->cookieAdi, "", time() - 3600, "/");
unset($_COOKIE[$this->cookieAdi]);
}

public function selamla(): void {
$kullanici = $this->oku();
if($kullanici) {
echo "Hoşgeldiniz, $kullanici! Cookie ile tanımlandınız.";
} else {
echo "Cookie bulunamadı.";
}
}
}

$oturum = new KullaniciCookie("AhmetYilmaz");
$oturum->olustur();
$oturum->selamla();
?>

Bu örnek, cookie yönetimini nesne yönelimli yaklaşım ile göstermektedir. KullaniciCookie sınıfı, cookie oluşturma, okuma, silme ve selamlama işlemlerini metodlar aracılığıyla yönetir. Null Coalescing operatörü (??), cookie mevcut değilse hata oluşmasını engeller. Bu yapı, kodun yeniden kullanılabilirliğini ve bakımını kolaylaştırır. Güvenlik ve performans açısından cookie yönetimini merkezi bir sınıfta toplamak, büyük projelerde hataları ve güvenlik açıklarını azaltır.

Cookie'ler ile çalışırken en iyi uygulamalar şunlardır: anlamlı ve açıklayıcı isimlendirme, uygun süre ayarı, güvenli veri yönetimi, Secure ve HttpOnly bayraklarının kullanımı. Büyük veri saklamaktan kaçınmak performansı korur. Yaygın hatalar arasında mevcut olmayan cookie'lere erişmek, bellek sızıntıları ve verimsiz algoritmalar bulunur. Debugging için print_r($_COOKIE) ve loglama teknikleri kullanılabilir. Cookie'leri oturum yönetimi ile entegre etmek, güvenliği ve uygulama verimliliğini artırır.

📊 Referans Tablosu

PHP Element/Concept Description Usage Example
setcookie() Cookie oluşturur ve tarayıcıya gönderir setcookie("kullanici", "AhmetYilmaz", time() + 3600, "/");
$_COOKIE Tarayıcıdan gelen cookie verilerini tutar echo $_COOKIE["kullanici"];
unset() $_COOKIE dizisinden cookie’yi siler unset($_COOKIE["kullanici"]);
Cookie Süresi Cookie’nin geçerlilik süresini belirler time() + (7*24*60*60)
OOP Sınıfı Cookie yönetimini sınıf içerisinde kapsüller $oturum = new KullaniciCookie("AhmetYilmaz"); $oturum->olustur();

Cookie'ler PHP'de kullanıcı yönetimi ve veri saklama açısından kritik bir konudur. Hem prosedürel hem de nesne yönelimli yaklaşımlarla uygulanabilir. Sonraki adım olarak oturum yönetimi, güvenli veri saklama ve kullanıcı doğrulama konularını öğrenmek önerilir. Cookie’leri güvenli ve optimize bir şekilde projelerde kullanmak, uygulama güvenliği, ölçeklenebilirliği ve bakımını iyileştirir.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek