CodeBlanks Logo Icon CodeBlanks
Ücretsiz 4 seviye PHP

PHP

Modern PHP 8.3 ile değişkenlerden OOP, PDO ve uzman seviye konulara kadar tüm temelleri öğrenin.

PHP kursu değişkenler, OOP, PDO, REST API, güvenlik, tasarım desenleri, generator'lar ve deployment ile tüm seviyeleri kapsar. Her seviye projeler ve meydan okumalarla biter.

  • 377 ders
  • 30 sa 24 dk
  • 9 proje

Hesap gerekmez, hemen başlayabilirsin. İlerlemeni kaydetmek istersen ücretsiz hesap aç

Seviyeler

PHP kursu dört seviyede sıfırdan uzmanlığa ilerler. İstediğin seviyeden başlayabilirsin.
Seviyeni bilmiyor musun? Seviye testini çöz
Başlangıç

PHP'nin temellerini öğrenirsin: değişkenler, veri türleri, döngüler, diziler, fonksiyonlar ve formlar.

  • PHP temelleri
  • Değişkenler
  • Veri türleri
  • Operatörler
116 ders · 8 sa 24 dk Dersleri gör →
Orta

Orta seviye

Nesne yönelimli programlama, dosya işlemleri, oturumlar, çerezler ve hata yönetimiyle PHP uygulamaları yazarsın.

  • Sınıflar
  • Yapıcı metot
  • Miras alma
  • Görünürlük
115 ders · 9 sa 40 dk Dersleri gör →
İleri

İleri seviye

PDO, namespace, Composer, REST API, güvenlik, middleware, test ve tasarım desenleriyle ileri teknikleri öğrenirsin.

  • PDO temelleri
  • Hazırlanmış sorgular
  • CRUD işlemleri
  • Namespace'ler
92 ders · 7 sa 45 dk Dersleri gör →
Uzman

Generator'lar, closure'lar, reflection, performans, ileri güvenlik, modern PHP ve deployment ile uzman seviye konularını işlersin.

  • Generator'lar
  • Closure ve callback
  • Reflection
  • Performans
54 ders · 4 sa 35 dk Dersleri gör →

Yapacağın projeler

Her seviyede öğrendiklerini gerçek bir sayfada birleştirirsin.

Nasıl çalışıyor?

Kısa anlatım

Her ders tek bir kavramı birkaç kısa kartla anlatır; uzun video ya da metin yok.

Hemen dene

Çoktan seçmeli, boşluk doldurma ve eşleştirme sorularıyla öğrendiğini anında pekiştirirsin.

Kendin yaz

Tarayıcıdaki editörde gerçek kod yazarsın; kodun anında kontrol edilir ve sonucu canlı görürsün.

Müfredat

62 grup · 377 ders · 30 sa 24 dk

PHP'nin temellerini öğrenirsin: değişkenler, veri türleri, döngüler, diziler, fonksiyonlar ve formlar.

1
PHP temelleri
6 ders · 24 dk
  1. 1 PHP nedir? PHP'nin sunucu taraflı bir dil olduğunu ve tarayıcıdan farkını öğrenirsin. 4 dk
  2. 2 PHP etiketleri <?php ve ?> etiketleriyle PHP kodunu HTML içine nasıl gömeceğini öğrenirsin. 4 dk
  3. 3 echo ile çıktı echo deyimiyle metin ve değişkenleri ekrana yazdırmayı öğrenirsin. 4 dk
  4. 4 Yorumlar Tek satır (//, #) ve çok satırlı (/* */) yorumları PHP'de nasıl yazacağını öğrenirsin. 3 dk
  5. 5 phpinfo() ve PHP sürümü phpinfo() ile sunucu yapılandırmasını ve PHP_VERSION sabitini öğrenirsin. 4 dk
  6. 6 Özet - PHP temelleri Etiketler, echo ve yorumları birleştirerek ilk PHP sayfanı yazarsın. 5 dk
2
Değişkenler
6 ders · 25 dk
  1. 1 Değişken tanımlama $ işaretiyle değişken tanımlamayı ve değer atamayı öğrenirsin. 4 dk
  2. 2 Değişken adlandırma kuralları Değişken adlarında harf, rakam ve alt çizgi kurallarını ve büyük-küçük harf duyarlılığını öğrenirsin. 4 dk
  3. 3 Değişkeni yeniden atama Bir değişkenin değerini yeni bir değerle değiştirmeyi ve artırıp azaltmayı öğrenirsin. 4 dk
  4. 4 Değişken birleştirme İki değişkeni birleştirip yeni değişkene atamayı öğrenirsin. 4 dk
  5. 5 isset() ve unset() ile değişken kontrolü isset() ile değişkenin varlığını sorgulamayı ve unset() ile silmeyi öğrenirsin. 4 dk
  6. 6 Özet - Değişkenler Değişken tanımlama, atama ve kontrolü birleştirerek kullanıcı bilgisi kartı yazarsın. 5 dk
3
Veri türleri
6 ders · 25 dk
  1. 1 string ve int Metin (string) ve tamsayı (int) veri türlerini tanır ve kullanırsın. 4 dk
  2. 2 float ve bool Ondalıklı sayı (float) ve mantıksal (bool) türlerini ve true/false kullanımını öğrenirsin. 4 dk
  3. 3 null ve boş değer null türünü, boş dize ve 0 ile farkını öğrenirsin. 4 dk
  4. 4 gettype() ile tür kontrolü gettype() fonksiyonuyla bir değişkenin türünü öğrenmeyi öğrenirsin. 4 dk
  5. 5 var_dump() ile detaylı çıktı var_dump() ile değişkenin türünü ve değerini detaylıca görüntülemeyi öğrenirsin. 4 dk
  6. 6 Özet - Veri türleri string, int, float, bool ve null türlerini birleştirerek envanter kaydı yazarsın. 5 dk
4
Proje: Hesap makinesiProje
5 ders · 25 dk
  1. 1 Proje: Hesap makinesi 5 derslik hesap makinesi projesine genel bakış: iki sayı ve bir operatörle işlem yapacaksın. 4 dk
  2. 2 Sayı girişi ve operatör seçimi İki sayı ve bir operatör alarak işlem hazırlığını yaparsın. 5 dk
  3. 3 İşlemi hesaplama if/elseif yapısıyla operatörü seçer ve sonucu hesaplarsın. 5 dk
  4. 4 Hata durumlarını yönetme Sıfıra bölme ve geçersiz operatör için korumayı eklersin. 5 dk
  5. 5 Proje sonu - Hesap makinesi Tüm parçaları birleştirip hesap makinesini çalışır hale getirirsin. 6 dk
5
Operatörler
6 ders · 25 dk
  1. 1 Aritmetik operatörler +, -, *, /, % ve ** operatörleriyle temel aritmetik işlemleri öğrenirsin. 4 dk
  2. 2 Atama operatörleri =, +=, -=, *= ve /= kısayol atamalarını öğrenirsin. 4 dk
  3. 3 Karşılaştırma operatörleri ==, ===, !=, <, >, <= ve >= ile değerleri karşılaştırmayı öğrenirsin. 4 dk
  4. 4 Mantıksal operatörler &&, || ve ! ile boolean mantık kurmayı ve kısa devre değerlendirmeyi öğrenirsin. 4 dk
  5. 5 Birleştirme ve artırma . ve .= ile dize birleştirmeyi, ++ ve -- ile artırıp azaltmayı öğrenirsin. 4 dk
  6. 6 Özet - Operatörler Aritmetik, karşılaştırma ve mantıksal operatörleri birleştirerek not hesaplayıcı yazarsın. 5 dk
6
Dize temelleri
6 ders · 25 dk
  1. 1 Dize oluşturma Tek ve çift tırnakla dize oluşturmayı ve ikisi arasındaki farkı öğrenirsin. 4 dk
  2. 2 strlen() ile uzunluk strlen() ile bir dizenin karakter uzunluğunu öğrenirsin. 4 dk
  3. 3 Dize birleştirme . operatörüyle dizeleri birleştirmeyi ve sık yapılan hataları öğrenirsin. 4 dk
  4. 4 Çift tırnakta değişken yorumlama Çift tırnaklı dizelerde değişkenlerin nasıl yorumlandığını ve {} süslü parantez kullanımını öğrenirsin. 4 dk
  5. 5 Kaçış dizileri \n, \t, \\ ve \" ile dize içinde özel karakterleri nasıl yazacağını öğrenirsin. 4 dk
  6. 6 Özet - Dize temelleri Dize oluşturma, birleştirme ve yorumlamayla karşılama mesajı oluşturursun. 5 dk
7
Koşullar
6 ders · 25 dk
  1. 1 if deyimi if ile bir koşulu nasıl kontrol edeceğini ve kod bloğunu öğrenirsin. 4 dk
  2. 2 else ve elseif Alternatif durumlar için else ve elseif zincirlerini öğrenirsin. 4 dk
  3. 3 switch deyimi switch, case, break ve default ile çoklu durum seçmeyi öğrenirsin. 4 dk
  4. 4 Ternary operatörü ? : ile tek satırda koşullu ifade yazmayı öğrenirsin. 4 dk
  5. 5 Karşılaştırma tuzakları === ve == arasındaki farkı ve tür dönüştürme tuzaklarını öğrenirsin. 4 dk
  6. 6 Özet - Koşullar if, switch ve ternary'i kullanarak haftanın günü uygulaması yazarsın. 5 dk
8
Döngüler
6 ders · 25 dk
  1. 1 for döngüsü for döngüsüyle belirli sayıda tekrar eden işlemleri yazmayı öğrenirsin. 4 dk
  2. 2 while döngüsü while ile koşul sağlandıkça çalışan döngüyü öğrenirsin. 4 dk
  3. 3 do-while döngüsü do-while ile en az bir kez çalışan döngüyü ve while'dan farkını öğrenirsin. 4 dk
  4. 4 foreach döngüsü foreach ile bir dizinin tüm elemanlarını gezmeyi öğrenirsin. 4 dk
  5. 5 break ve continue break ile döngüyü sonlandırmayı ve continue ile bir adımı atlamayı öğrenirsin. 4 dk
  6. 6 Özet - Döngüler for, while ve foreach'i kullanarak çarpım tablosu yazarsın. 5 dk
9
Proje: Alışveriş sepetiProje
5 ders · 25 dk
  1. 1 Proje: Alışveriş sepeti 5 derslik alışveriş sepeti projesine genel bakış: ürünleri dizide tutup toplam hesaplayacaksın. 4 dk
  2. 2 Ürünleri sepete ekleme Ürün dizisi oluşturup sepete yeni ürün eklersin. 5 dk
  3. 3 Sepeti görüntüleme foreach ile sepetteki ürünleri listeleyip gösterirsin. 5 dk
  4. 4 Toplam hesaplama Her ürünün fiyat ve adedini çarpıp sepet toplamını hesaplarsın. 5 dk
  5. 5 Proje sonu - Alışveriş sepeti Tüm parçaları birleştirip sepeti çalışan bir uygulama haline getirirsin. 6 dk
10
Diziler temelleri
6 ders · 25 dk
  1. 1 Dizi oluşturma array() ve [] sözdizimiyle dizi oluşturmayı öğrenirsin. 4 dk
  2. 2 Dizi elemanlarına erişim Köşeli ayraçlarla dizi elemanlarına indeks yoluyla erişmeyi öğrenirsin. 4 dk
  3. 3 count() ile eleman sayısı count() fonksiyonuyla bir dizide kaç eleman olduğunu öğrenirsin. 4 dk
  4. 4 print_r() ile dizi çıktısı print_r() ile bir dizinin içeriğini okunabilir biçimde yazdırmayı öğrenirsin. 4 dk
  5. 5 Diziyi döngüde gezme for ve foreach ile bir dizinin tüm elemanlarını döngüde gezeyi öğrenirsin. 4 dk
  6. 6 Özet - Diziler temelleri Dizi oluşturma, erişim ve döngüyü birleştirerek haftalık sıcaklık listesi yazarsın. 5 dk
11
Dizi metotları
6 ders · 25 dk
  1. 1 array_push() ve array_pop() array_push() ile sona eleman eklemeyi ve array_pop() ile sondan eleman çıkarmayı öğrenirsin. 4 dk
  2. 2 array_shift() ve array_unshift() array_shift() ile baştan eleman çıkarmayı ve array_unshift() ile başa eklemeyi öğrenirsin. 4 dk
  3. 3 array_merge() ile birleştirme array_merge() ile iki diziyi tek dizide birleştirmeyi öğrenirsin. 4 dk
  4. 4 array_slice() ile dilimleme array_slice() ile bir dizinin belirli bir bölümünü almayı öğrenirsin. 4 dk
  5. 5 in_array() ve array_search() in_array() ile eleman varlığını ve array_search() ile eleman konumunu sorgulamayı öğrenirsin. 4 dk
  6. 6 Özet - Dizi metotları push, pop, merge ve slice'ı kullanarak kuyruk yönetimi uygulaması yazarsın. 5 dk
12
İlişkisel diziler
6 ders · 25 dk
  1. 1 Anahtar-değer çiftleri Anahtar-değer çiftlerinden oluşan ilişkisel dizi oluşturmayı öğrenirsin. 4 dk
  2. 2 Anahtarlara erişim Anahtarla değere erişmeyi ve var olmayan anahtar davranışını öğrenirsin. 4 dk
  3. 3 array_keys() ve array_values() array_keys() ile tüm anahtarları ve array_values() ile tüm değerleri almayı öğrenirsin. 4 dk
  4. 4 isset() ile anahtar kontrolü isset() ile bir anahtarın varlığını ve array_key_exists() farkını öğrenirsin. 4 dk
  5. 5 İlişkisel diziyi döngüde gezme foreach ile anahtar ve değeri birlikte gezmeyi öğrenirsin. 4 dk
  6. 6 Özet - İlişkisel diziler İlişkisel dizi ve foreach'le kullanıcı profil kartı yazarsın. 5 dk
13
Fonksiyonlar
6 ders · 25 dk
  1. 1 Fonksiyon tanımlama function anahtar kelimesiyle fonksiyon tanımlamayı öğrenirsin. 4 dk
  2. 2 Fonksiyon çağırma Tanımladığın fonksiyonu ismi ve parantezle çağırmayı öğrenirsin. 4 dk
  3. 3 return ile değer döndürme return ile fonksiyonun değer döndürmesini ve çağrıda kullanmayı öğrenirsin. 4 dk
  4. 4 Fonksiyon kapsamı Fonksiyon içindeki değişkenlerin dışarıdan görünmediğini öğrenirsin. 4 dk
  5. 5 Fonksiyonda dizi döndürme Bir fonksiyonun dizi döndürmesini ve sonucu kullanmayı öğrenirsin. 4 dk
  6. 6 Özet - Fonksiyonlar Fonksiyon tanımlama ve return'ü kullanarak vergi hesaplayıcı yazarsın. 5 dk
14
Parametreler
6 ders · 25 dk
  1. 1 Parametreli fonksiyonlar Fonksiyona parametre geçip içeride kullanmayı öğrenirsin. 4 dk
  2. 2 Varsayılan parametre değerleri Parametreye varsayılan değer atayıp çağrıda atlanabilmesini öğrenirsin. 4 dk
  3. 3 Birden fazla parametre Birden fazla parametre tanımlayıp sırasıyla çağırmayı öğrenirsin. 4 dk
  4. 4 Tür belirtilmiş parametreler Parametrenin türünü (int, string, array) bildirip yanlış türde hata almayı öğrenirsin. 4 dk
  5. 5 return türü belirtme Fonksiyonun dönüş türünü : type sözdizimiyle bildirmeyi öğrenirsin. 4 dk
  6. 6 Özet - Parametreler Parametre, varsayılan değer ve tür bildirimiyle güvenli hesaplama fonksiyonu yazarsın. 5 dk
15
Proje: Yapılacaklar listesiProje
5 ders · 25 dk
  1. 1 Proje: Yapılacaklar listesi 5 derslik yapılacaklar listesi projesine genel bakış: dizi ve fonksiyonlarla görev yöneteceksin. 4 dk
  2. 2 Görev ekleme Görev dizisi oluşturup yeni görev ekleyen fonksiyon yazarsın. 5 dk
  3. 3 Görev listeleme foreach ile görevleri numaralandırıp listeler sin. 5 dk
  4. 4 Görev tamamlama Bir görevi tamamlandı olarak işaretlemek için ilişkisel dizi kullanırsın. 5 dk
  5. 5 Proje sonu - Yapılacaklar listesi Tüm parçaları birleştirip çalışan yapılacaklar listesini tamamlarsın. 6 dk
16
İleri dize metotları
6 ders · 25 dk
  1. 1 str_replace() ile değiştirme str_replace() ile bir dizedeki alt dizeyi değiştirmeyi öğrenirsin. 4 dk
  2. 2 substr() ile parçalama substr() ile bir dizenin belirli bir bölümünü almayı öğrenirsin. 4 dk
  3. 3 strpos() ile arama strpos() ile bir alt dizenin konumunu bulmayı ve false döndürme davranışını öğrenirsin. 4 dk
  4. 4 explode() ile bölme explode() ile bir dizeyi ayraçtan bölüp diziye dönüştürmeyi öğrenirsin. 4 dk
  5. 5 implode() ile birleştirme implode() ile bir diziyi ayraçla birleştirip dizeye dönüştürmeyi öğrenirsin. 4 dk
  6. 6 Özet - İleri dize metotları str_replace, substr, explode ve implode'la CSV satırı ayrıştırıcı yazarsın. 5 dk
17
Süper globaller
6 ders · 25 dk
  1. 1 Süper global nedir? Süper global değişkenlerin her kapsamdan erişilebilir olduğunu öğrenirsin. 4 dk
  2. 2 $_GET ile veri alma $_GET ile URL parametrelerini almayı ve kullanmayı öğrenirsin. 4 dk
  3. 3 $_POST ile veri alma $_POST ile formdan gönderilen veriyi almayı öğrenirsin. 4 dk
  4. 4 $_SERVER ve sunucu bilgileri $_SERVER ile sunucu ve istek bilgilerini (REQUEST_METHOD, HTTP_HOST) öğrenirsin. 4 dk
  5. 5 $_REQUEST ile hepsi $_REQUEST ile GET, POST ve cookie verilerini birlikte almayı öğrenirsin. 4 dk
  6. 6 Özet - Süper globaller $_GET ve $_SERVER'ı kullanarak URL parametresi gösteren sayfa yazarsın. 5 dk
18
Formlar
6 ders · 25 dk
  1. 1 HTML form oluşturma method ve action öznitelikleriyle form oluşturmayı öğrenirsin. 4 dk
  2. 2 Form verisini işleme POST ile gönderilen form verisini $_POST üzerinden almayı öğrenirsin. 4 dk
  3. 3 htmlspecialchars() ile güvenlik htmlspecialchars() ile kullanıcı girdisinden XSS açığını kapatmayı öğrenirsin. 4 dk
  4. 4 Form doğrulama temelleri Boş alan ve e-posta biçimi denetimi yapmayı öğrenirsin. 4 dk
  5. 5 Hata mesajları gösterme Doğrulama hatalarını form yanında kullanıcıya göstermeyi öğrenirsin. 4 dk
  6. 6 Özet - Formlar Form, $_POST ve htmlspecialchars'ı birleştirerek kayıt formu yazarsın. 5 dk
19
Dosya dahil etme
6 ders · 25 dk
  1. 1 include ile dosya dahil etme include ile başka bir PHP dosyasını sayfaya dahil etmeyi öğrenirsin. 4 dk
  2. 2 require ile dosya dahil etme require ile dosya dahil etmeyi ve include'dan farkını (fatal error) öğrenirsin. 4 dk
  3. 3 include_once ve require_once include_once ve require_once ile bir dosyanın yalnızca bir kez dahil edilmesini öğrenirsin. 4 dk
  4. 4 __DIR__ ve yol yönetimi __DIR__ sihirli sabitiyle dosya yollarını güvenli biçimde yönetmeyi öğrenirsin. 4 dk
  5. 5 Layout ve partial mantığı Header, footer ve content partial'larını birleştirerek sayfa layout'u kurmayı öğrenirsin. 4 dk
  6. 6 Özet - Dosya dahil etme include, __DIR__ ve partial'larla basit bir site iskeleti kurarsın. 5 dk
20
Başlangıç finaliFinal
5 ders · 30 dk
  1. 1 Meydan okuma - Hesap makinesi Fonksiyon, döngü ve koşullarla gelişmiş bir hesap makinesi yazarsın. 6 dk
  2. 2 Meydan okuma - Güvenli geri bildirim formu HTML form, $_POST ve htmlspecialchars'la güvenli bir geri bildirim formu yazarsın. 6 dk
  3. 3 Meydan okuma - Dizi işlemleri İlişkisel dizi, foreach ve dizi metotlarıyla öğrenci not panosu yazarsın. 6 dk
  4. 4 Meydan okuma - Fonksiyon ve döngü Parametreli fonksiyon, döngü ve return'le faiz hesaplama uygulaması yazarsın. 6 dk
  5. 5 Meydan okuma - Mini CMS include, dizi ve form'la basit bir içerik yönetim sayfası yazarsın. 6 dk

Nesne yönelimli programlama, dosya işlemleri, oturumlar, çerezler ve hata yönetimiyle PHP uygulamaları yazarsın.

1
Sınıflar
6 ders · 30 dk
  1. 1 Sınıf tanımlama class anahtar kelimesiyle sınıf tanımlamayı öğrenirsin. 5 dk
  2. 2 Property tanımlama Sınıf içinde property (özellik) tanımlamayı ve varsayılan değer vermeyi öğrenirsin. 5 dk
  3. 3 Method tanımlama Sınıf içine method (fonksiyon) eklemeyi öğrenirsin. 5 dk
  4. 4 $this ile sınıf içi erişim $this pseudo-değişkeniyle sınıfın property ve methodlarına erişmeyi öğrenirsin. 5 dk
  5. 5 new ile örnek oluşturma new operatörüyle sınıftan örnek (instance) oluşturmayı öğrenirsin. 5 dk
  6. 6 Özet - Sınıflar Sınıf, property, method ve $this'le bir kullanıcı sınıfı yazarsın. 5 dk
2
Yapıcı metot
6 ders · 30 dk
  1. 1 __construct metodu __construct sihirli metoduyla sınıf örneklenirken kod çalıştırmayı öğrenirsin. 5 dk
  2. 2 Yapıcıya parametre geçme Yapıcı metoda parametre geçip örnek oluşturmada kullanmayı öğrenirsin. 5 dk
  3. 3 Property başlatma Yapıcıda property'lere ilk değer atamayı öğrenirsin. 5 dk
  4. 4 Sınıf tür bildirimi Yapıcı parametresine sınıf türü bildirip yalnızca o sınıfı kabul etmeyi öğrenirsin. 5 dk
  5. 5 __destruct metodu __destruct ile örnek yok edilirken kaynak temizlemeyi öğrenirsin. 5 dk
  6. 6 Özet - Yapıcı metot Yapıcı, parametre ve property başlatmayla banka hesabı sınıfı yazarsın. 5 dk
3
Miras alma
6 ders · 30 dk
  1. 1 extends ile miras alma extends anahtar kelimesiyle bir sınıftan miras almayı öğrenirsin. 5 dk
  2. 2 parent:: ile ebeveyne erişim parent:: ile ebeveyn sınıfın method ve yapıcısına erişmeyi öğrenirsin. 5 dk
  3. 3 Method override Çocuk sınıfta ebeveyn methodunu geçersiz kılmayı (override) öğrenirsin. 5 dk
  4. 4 protected property ve method protected erişimle yalnızca sınıf ve alt sınıfların erişebildiğini öğrenirsin. 5 dk
  5. 5 Miras zinciri Birden fazla seviyeli miras zinciri kurmayı ve davranış çoğaltmayı öğrenirsin. 5 dk
  6. 6 Özet - Miras alma extends, parent:: ve override'la hayvan sınıf hiyerarşisi yazarsın. 5 dk
4
Proje: Yardımcı kütüphaneProje
5 ders · 25 dk
  1. 1 Proje: Yardımcı kütüphane 5 derslik yardımcı kütüphane projesine genel bakış: sınıf + include ile tekrar kullanılabilir yapılar. 4 dk
  2. 2 Sınıf iskeleti Bir koleksiyon sınıfı tanımlayıp yapıcıyla iç durumu kurarsın. 5 dk
  3. 3 Metot ekleme Sınıfa ekleme, çıkarma ve arama methodlarını eklersin. 5 dk
  4. 4 Dosya dahil etme ile kullanma Sınıfı ayrı dosyaya taşıyıp include ile başka sayfada kullanırsın. 5 dk
  5. 5 Proje sonu - Kütüphane Tüm parçaları birleştirip kütüphaneyi çalışan bir modül haline getirirsin. 6 dk
5
Görünürlük
6 ders · 30 dk
  1. 1 public erişim public property ve methodların her yerden erişilebilir olduğunu öğrenirsin. 5 dk
  2. 2 protected erişim protected erişimin yalnızca sınıf ve alt sınıflarla sınırlı olduğunu öğrenirsin. 5 dk
  3. 3 private erişim private erişimin yalnızca tanımlandığı sınıfla sınırlı olduğunu öğrenirsin. 5 dk
  4. 4 Encapsulation (sarmalama) İç durumu private yapıp dışarıdan kontrollü erişim sağlamayı öğrenirsin. 5 dk
  5. 5 Getter ve setter metotlar Getter ve setter methodlarla private property'lere kontrollü erişim sağlarsın. 5 dk
  6. 6 Özet - Görünürlük public, private, getter ve setter'la sıcaklık sınıfı yazarsın. 5 dk
6
Static üyeler
6 ders · 30 dk
  1. 1 static property static property ile sınıfa ait paylaşılan durum tutmayı öğrenirsin. 5 dk
  2. 2 static method static method ile örnek oluşturmadan çağrılabilen method yazmayı öğrenirsin. 5 dk
  3. 3 self:: ile sınıf içi erişim self:: ile sınıfın static üyelerine içeriden erişmeyi öğrenirsin. 5 dk
  4. 4 static:: ile geç bağlama static:: ile geç bağlama (late static binding) ve self:: farkını öğrenirsin. 5 dk
  5. 5 static vs instance static ve instance üyelerin farkını ve ne zaman hangisini kullanacağını öğrenirsin. 5 dk
  6. 6 Özet - Static üyeler static property, method ve self::'le sayaç sınıfı yazarsın. 5 dk
7
Sınıf sabitleri
6 ders · 30 dk
  1. 1 const ile sınıf sabiti const anahtar kelimesiyle sınıf sabiti tanımlamayı öğrenirsin. 5 dk
  2. 2 Sabitlere erişim :: operatörüyle sınıf sabitlerine dışarıdan ve içeriden erişmeyi öğrenirsin. 5 dk
  3. 3 ::class ile sınıf adı ::class ile bir sınıfın tam adını dize olarak almayı öğrenirsin. 5 dk
  4. 4 Sınıf sabitleri vs static Sınıf sabitleri ile static property arasındaki farkı öğrenirsin. 5 dk
  5. 5 Sabit kullanım örnekleri Sınıf sabitleriyle yapılandırma değerleri ve durum kodları tanımlamayı öğrenirsin. 5 dk
  6. 6 Özet - Sınıf sabitleri const, :: ve ::class'la sipariş durumu sabitli sınıf yazarsın. 5 dk
8
Proje: Quiz uygulamasıProje
5 ders · 25 dk
  1. 1 Proje: Quiz uygulaması 5 derslik quiz projesine genel bakış: OOP ve dizilerle soru-cevap uygulaması. 4 dk
  2. 2 Soru sınıfı tasarlama Soru, seçenekler ve doğru cevabı tutan bir sınıf tasarlarsın. 5 dk
  3. 3 Cevap kontrolü Kullanıcının cevabını doğru cevapla karşılaştıran method yazarsın. 5 dk
  4. 4 Skor hesaplama foreach'le tüm soruları gezip doğru sayısını hesaplarsın. 5 dk
  5. 5 Proje sonu - Quiz uygulaması Tüm parçaları birleştirip çalışan quiz uygulamasını tamamlarsın. 6 dk
9
Arayüzler
6 ders · 30 dk
  1. 1 interface tanımlama interface anahtar kelimesiyle sözleşme (contract) tanımlamayı öğrenirsin. 5 dk
  2. 2 implements ile uygulama implements ile bir interface'in methodlarını sınıfta uygulamayı öğrenirsin. 5 dk
  3. 3 Çoklu interface Bir sınıfa birden fazla interface uygulayarak sözleşme birleştirmeyi öğrenirsin. 5 dk
  4. 4 Polymorphism (çok biçimlilik) Aynı interface'i uygulayan farklı sınıfları ortak tipte kullanmayı öğrenirsin. 5 dk
  5. 5 interface vs abstract interface ve abstract class arasındaki farkı ve ne zaman hangisini kullanacağını öğrenirsin. 5 dk
  6. 6 Özet - Arayüzler interface, implements ve polymorphism'le ödeme yöntemi sistemi yazarsın. 5 dk
10
Soyut sınıflar
6 ders · 30 dk
  1. 1 abstract class tanımlama abstract class ile tamamlanmamış sınıf şablonu tanımlamayı öğrenirsin. 5 dk
  2. 2 abstract method abstract method ile gövdesiz method bildirimi ve alt sınıfta uygulamayı öğrenirsin. 5 dk
  3. 3 Soyut sınıf mirası abstract sınıftan extends edip abstract methodları uygulamayı öğrenirsin. 5 dk
  4. 4 Template method deseni Soyut sınıfta bir method iskeleti kurup alt sınıfların adımları doldurmasını öğrenirsin. 5 dk
  5. 5 Constructor ve abstract Abstract sınıfta yapıcı tanımlayıp alt sınıfta parent:: ile çağırmayı öğrenirsin. 5 dk
  6. 6 Özet - Soyut sınıflar abstract class, abstract method ve template method'la veri kaynak sistemi yazarsın. 5 dk
11
Trait'ler
6 ders · 30 dk
  1. 1 trait tanımlama trait anahtar kelimesiyle yeniden kullanılabilir method kümesi tanımlamayı öğrenirsin. 5 dk
  2. 2 use ile trait kullanma use ile bir sınıfa trait methodlarını dahil etmeyi öğrenirsin. 5 dk
  3. 3 Çoklu trait Bir sınıfa birden fazla trait kullanarak yetenek birleştirmeyi öğrenirsin. 5 dk
  4. 4 Method çakışması çözümü Aynı method adına sahip trait'lerde insteadof ve as ile çakışmayı çözmeni öğrenirsin. 5 dk
  5. 5 Trait vs inheritance Trait ile miras arasındaki farkı ve ne zaman hangisini kullanacağını öğrenirsin. 5 dk
  6. 6 Özet - Trait'ler trait, use ve çoklu trait'le loglama özellikli sınıflar yazarsın. 5 dk
12
Proje: Blog uygulamasıProje
5 ders · 25 dk
  1. 1 Proje: Blog uygulaması 5 derslik blog projesine genel bakış: OOP ve formlarla yazı yönetimi. 4 dk
  2. 2 Post sınıfı oluşturma Başlık, içerik ve yazar tutan bir Post sınıfı tasarlarsın. 5 dk
  3. 3 Form ile post ekleme HTML form ve $_POST ile yeni post oluşturmayı öğrenirsin. 5 dk
  4. 4 Post listesi gösterme foreach'le post dizisini gezip her yazıyı gösterirsin. 5 dk
  5. 5 Proje sonu - Blog Tüm parçaları birleştirip çalışan blog uygulamasını tamamlarsın. 6 dk
13
Dosya işlemleri
6 ders · 30 dk
  1. 1 file_get_contents() ile okuma file_get_contents() ile bir dosyanın tüm içeriğini dize olarak okumayı öğrenirsin. 5 dk
  2. 2 file_put_contents() ile yazma file_put_contents() ile bir dizeyi dosyaya yazmayı öğrenirsin. 5 dk
  3. 3 fopen() ile dosya açma fopen() ile dosyayı farklı modlarda (r, w, a) açmayı öğrenirsin. 5 dk
  4. 4 fwrite() ve fread() fwrite() ile dosyaya yazıp fread() ile okumayı öğrenirsin. 5 dk
  5. 5 fclose() ve dosya kapatma fclose() ile dosya tanıtıcısını kapatmayı ve kaynak yönetimini öğrenirsin. 5 dk
  6. 6 Özet - Dosya işlemleri file_get_contents, file_put_contents ve fopen'la günlük defteri uygulaması yazarsın. 5 dk
14
Dosya yükleme
6 ders · 30 dk
  1. 1 $_FILES süper globali $_FILES ile çok parçalı form verisinden dosya bilgisini almayı öğrenirsin. 5 dk
  2. 2 move_uploaded_file() move_uploaded_file() ile geçici dosyayı kalıcı konuma taşımayı öğrenirsin. 5 dk
  3. 3 Dosya türü doğrulama Yüklenen dosyanın türünü (MIME) doğrulamayı öğrenirsin. 5 dk
  4. 4 Dosya boyutu sınırı Yükleme için dosya boyutu sınırını kontrol etmeyi öğrenirsin. 5 dk
  5. 5 Yükleme hata yönetimi $_FILES['file']['error'] kodlarını okuyup anlamlı hata mesajları vermeyi öğrenirsin. 5 dk
  6. 6 Özet - Dosya yükleme $_FILES, move_uploaded_file ve doğrulamayla profil resmi yükleme yazarsın. 5 dk
15
Oturumlar
6 ders · 30 dk
  1. 1 session_start() ile oturum başlatma session_start() ile oturum başlatmayı ve oturum çerezini öğrenirsin. 5 dk
  2. 2 $_SESSION ile veri saklama $_SESSION süper globaline veri yazıp sayfalar arası taşımayı öğrenirsin. 5 dk
  3. 3 Oturumdan veri okuma $_SESSION'dan veriyi okuyup isset() ile varlığını kontrol etmeyi öğrenirsin. 5 dk
  4. 4 unset() ve session_destroy() unset() ile tek bir oturum değişkenini ve session_destroy() ile tüm oturumu silmeyi öğrenirsin. 5 dk
  5. 5 Login/logout mantığı Oturumla basit bir giriş (login) ve çıkış (logout) akışı kurmayı öğrenirsin. 5 dk
  6. 6 Özet - Oturumlar session_start, $_SESSION ve destroy'la basit bir giriş sistemi yazarsın. 5 dk
16
Çerezler
6 ders · 30 dk
  1. 1 setcookie() ile çerez oluşturma setcookie() ile tarayıcıda çerez oluşturmayı öğrenirsin. 5 dk
  2. 2 $_COOKIE ile çerez okuma $_COOKIE süper globaliyle tarayıcıdan gönderilen çerezleri okumayı öğrenirsin. 5 dk
  3. 3 Çerez süre sonu setcookie()'ye süre sonu (expires) verip çerezin ömrünü ayarlamayı öğrenirsin. 5 dk
  4. 4 Çerez silme Süre sonu geçmiş bir çerez ayarlayarak çerezi silmeyi öğrenirsin. 5 dk
  5. 5 Session vs cookie Oturum ve çerez arasındaki farkı ve ne zaman hangisini kullanacağını öğrenirsin. 5 dk
  6. 6 Özet - Çerezler setcookie, $_COOKIE ve süre sonuyla tema tercih (koyu/açık) uygulaması yazarsın. 5 dk
17
Proje: İletişim formuProje
5 ders · 25 dk
  1. 1 Proje: İletişim formu 5 derslik iletişim formu projesine genel bakış: oturum, dosya ve doğrulama bir arada. 4 dk
  2. 2 Form iskeleti Ad, e-posta ve mesaj alanlarıyla iletişim formu iskeletini kurarsın. 5 dk
  3. 3 Veri doğrulama Boş alan ve e-posta biçimi denetimi yapan doğrulama fonksiyonları yazarsın. 5 dk
  4. 4 Dosya yükleme entegrasyonu İletişim formuna ek dosya (ör. ekran görüntüsü) yükleme eklersin. 5 dk
  5. 5 Proje sonu - İletişim formu Tüm parçaları birleştirip çalışan iletişim formunu tamamlarsın. 6 dk
18
Hata yönetimi
6 ders · 30 dk
  1. 1 try/catch bloğu try/catch ile istisna yakalayıp hata durumunu yönetmeyi öğrenirsin. 5 dk
  2. 2 throw ile istisna fırlatma throw new Exception() ile kendi istisnanı fırlatmayı öğrenirsin. 5 dk
  3. 3 Exception sınıfı Exception sınıfının getMessage(), getCode() ve getTrace() methodlarını öğrenirsin. 5 dk
  4. 4 error_reporting ayarı error_reporting ve ini_set ile hangi hataların gösterileceğini ayarlamayı öğrenirsin. 5 dk
  5. 5 Özel istisna sınıfları Exception sınıfından türeyen kendi istisna sınıflarını tanımlamayı öğrenirsin. 5 dk
  6. 6 Özet - Hata yönetimi try/catch, throw ve özel istisnayla yaş kontrolü yapan fonksiyon yazarsın. 5 dk
19
Tarih ve saat
6 ders · 30 dk
  1. 1 date() ile tarih biçimlendirme date() fonksiyonu ve biçim karakterleriyle tarih yazdırmayı öğrenirsin. 5 dk
  2. 2 time() ile zaman damgası time() ile Unix zaman damgasını almayı ve kullanmayı öğrenirsin. 5 dk
  3. 3 strtotime() ile tarih ayrıştırma strtotime() ile İngilizce tarih ifadelerini zaman damgasına çevirmeyi öğrenirsin. 5 dk
  4. 4 DateTime sınıfı DateTime sınıfıyla nesne yönelimli tarih işlemleri yapmayı öğrenirsin. 5 dk
  5. 5 DateInterval ve DatePeriod DateInterval ile tarih farkını ve DatePeriod ile tarih aralığını gezmeyi öğrenirsin. 5 dk
  6. 6 Özet - Tarih ve saat date, strtotime ve DateTime'la etkinlik takvim uygulaması yazarsın. 5 dk
20
Orta seviye finaliFinal
5 ders · 30 dk
  1. 1 Meydan okuma - OOP uygulaması Sınıf, interface ve trait'lerle kitap kütüphanesi yönetim sistemi yazarsın. 6 dk
  2. 2 Meydan okuma - Dosya ve oturum Dosya yazma/okuma ve oturumla basit bir not defteri uygulaması yazarsın. 6 dk
  3. 3 Meydan okuma - Çok adımlı kayıt formu Çok adımlı form ve doğrulamayla güvenli bir kayıt uygulaması yazarsın. 6 dk
  4. 4 Meydan okuma - Hata yönetimi try/catch, throw ve özel istisnayla sağlam bir sipariş sistemi yazarsın. 6 dk
  5. 5 Meydan okuma - Mini API Sınıf, JSON ve DateTime'la basit bir görev takip API'si yazarsın. 6 dk

PDO, namespace, Composer, REST API, güvenlik, middleware, test ve tasarım desenleriyle ileri teknikleri öğrenirsin.

1
PDO temelleri
7 ders · 35 dk
  1. 1 PDO nedir? PDO'nun (PHP Data Objects) ne olduğunu ve neden kullanıldığını öğrenirsin. 5 dk
  2. 2 PDO ile bağlantı kurma PDO kurucusuyla veritabanına DSN ile bağlanmayı öğrenirsin. 5 dk
  3. 3 query() ile sorgu çalıştırma query() ile doğrudan SQL sorgusu çalıştırmayı öğrenirsin. 5 dk
  4. 4 fetch() ile tek satır alma fetch() ile sorgu sonucundan tek satır almayı öğrenirsin. 5 dk
  5. 5 fetchAll() ile tüm satırlar fetchAll() ile sorgu sonucunun tüm satırlarını dizi olarak almayı öğrenirsin. 5 dk
  6. 6 fetch mode sabitleri PDO::FETCH_ASSOC, PDO::FETCH_OBJ ve PDO::FETCH_NUM gibi fetch modlarını öğrenirsin. 5 dk
  7. 7 Özet - PDO temelleri bağlantı, query, fetch ve fetchAll'la kullanıcı listesi uygulaması yazarsın. 5 dk
2
Hazırlanmış sorgular
7 ders · 35 dk
  1. 1 prepare() ile hazırlanmış sorgu prepare() ile hazırlanmış sorgu oluşturmayı ve neden daha güvenli olduğunu öğrenirsin. 5 dk
  2. 2 execute() ile çalıştırma execute() ile hazırlanmış sorguyu parametrelerle çalıştırmayı öğrenirsin. 5 dk
  3. 3 bindParam() ile parametre bağlama bindParam() ile değişken referansını parametreye bağlamayı öğrenirsin. 5 dk
  4. 4 bindValue() ile değer bağlama bindValue() ile değeri parametreye bağlamayı ve bindParam farkını öğrenirsin. 5 dk
  5. 5 SQL injection ve korunma SQL injection saldırısını ve prepared statement ile nasıl korunacağını öğrenirsin. 5 dk
  6. 6 Named placeholders :name biçiminde adlandırılmış yer tutucularla sorgu yazmayı öğrenirsin. 5 dk
  7. 7 Özet - Hazırlanmış sorgular prepare, execute, bindParam ve named placeholder'larla güvenli arama uygulaması yazarsın. 5 dk
3
CRUD işlemleri
7 ders · 35 dk
  1. 1 INSERT ile kayıt ekleme PDO ve prepared statement ile yeni kayıt eklemeyi öğrenirsin. 5 dk
  2. 2 SELECT ile kayıt okuma PDO ile SELECT sorgusu çalıştırıp kayıtları okumayı öğrenirsin. 5 dk
  3. 3 UPDATE ile kayıt güncelleme PDO ve prepared statement ile mevcut kaydı güncellemeyi öğrenirsin. 5 dk
  4. 4 DELETE ile kayıt silme PDO ve prepared statement ile kaydı silmeyi öğrenirsin. 5 dk
  5. 5 rowCount() ile etkilenen satır rowCount() ile UPDATE, DELETE ve INSERT'in etkilediği satır sayısını öğrenirsin. 5 dk
  6. 6 Transaction yönetimi beginTransaction, commit ve rollBack ile işlem (transaction) yönetmeyi öğrenirsin. 5 dk
  7. 7 Özet - CRUD işlemleri INSERT, SELECT, UPDATE ve DELETE'le kullanıcı yönetimi uygulaması yazarsın. 5 dk
4
Proje: Blog (PDO ile)Proje
5 ders · 25 dk
  1. 1 Proje: Blog (PDO ile) 5 derslik PDO blog projesine genel bakış: PDO ile yazı yönetimi. 4 dk
  2. 2 Veritabanı yapısı posts tablosunu ve PDO bağlantısını oluşturursun. 5 dk
  3. 3 Post ekleme ve listeleme INSERT ve SELECT ile post ekleyip listeleme yaparsın. 5 dk
  4. 4 Post düzenleme ve silme UPDATE ve DELETE ile mevcut postları düzenleyip silersin. 5 dk
  5. 5 Proje sonu - Blog (PDO) Tüm parçaları birleştirip PDO'lu çalışan blogu tamamlarsın. 6 dk
5
Namespace'ler
7 ders · 35 dk
  1. 1 namespace tanımlama namespace anahtar kelimesiyle kodu paketlemeyi öğrenirsin. 5 dk
  2. 2 use ile içe aktarma use ile başka bir namespace'den sınıf içe aktarmayı öğrenirsin. 5 dk
  3. 3 alias (takma ad) use ... as ile uzun sınıf adlarına takma ad vermeyi öğrenirsin. 5 dk
  4. 4 Global namespace Başında \ olan global namespace ve global fonksiyon çağrılarını öğrenirsin. 5 dk
  5. 5 Çok seviyeli namespace Alt\Modül\Sınıf biçiminde çok seviyeli namespace yapısını öğrenirsin. 5 dk
  6. 6 PSR-4 otomatik yükleme PSR-4 standardıyla namespace ve dosya yolunu eşleyen autoloader yazmayı öğrenirsin. 5 dk
  7. 7 Özet - Namespace'ler namespace, use, alias ve PSR-4'le modüler bir kütüphane yapısı kurarsın. 5 dk
6
Composer
7 ders · 35 dk
  1. 1 Composer nedir? Composer'ın PHP paket yöneticisi olduğunu ve sağladıklarını öğrenirsin. 5 dk
  2. 2 composer.json dosyası composer.json yapısını ve temel alanlarını öğrenirsin. 5 dk
  3. 3 require ile paket ekleme composer require ile yeni paket eklemeyi ve sürüm kısıtlarını öğrenirsin. 5 dk
  4. 4 Autoload (PSR-4) composer'ın PSR-4 autoload'unu ve vendor/autoload.php kullanımını öğrenirsin. 5 dk
  5. 5 Packagist'ten paket kurma Packagist'ten paket arayıp kurmayı öğrenirsin. 5 dk
  6. 6 composer update ve install composer install ve update komutlarının farkını öğrenirsin. 5 dk
  7. 7 Özet - Composer composer.json, require ve autoload'la bağımlılıkları yönetilen bir proje kurarsın. 5 dk
7
Regex
7 ders · 35 dk
  1. 1 preg_match() ile eşleştirme preg_match() ile bir dizede desen eşleştirmeyi öğrenirsin. 5 dk
  2. 2 preg_replace() ile değiştirme preg_replace() ile eşleşen deseni yeni değerle değiştirmeyi öğrenirsin. 5 dk
  3. 3 preg_match_all() ile tüm eşleşmeler preg_match_all() ile bir dizedeki tüm eşleşmeleri almayı öğrenirsin. 5 dk
  4. 4 Karakter sınıfları \d, \w, \s ve [a-z] gibi karakter sınıflarıyla deseni daraltmayı öğrenirsin. 5 dk
  5. 5 Quantifiers *, +, ? ve {} ile bir desenin kaç kez tekrar edeceğini öğrenirsin. 5 dk
  6. 6 Yakalama grupları Parantez () ile yakalama grupları oluşturmayı ve geri referans kullanmayı öğrenirsin. 5 dk
  7. 7 Özet - Regex preg_match, preg_replace ve karakter sınıflarıyla e-posta doğrulama fonksiyonu yazarsın. 5 dk
8
JSON ve API
7 ders · 35 dk
  1. 1 json_encode() ile kodlama json_encode() ile PHP değerini JSON dizesine çevirmeyi öğrenirsin. 5 dk
  2. 2 json_decode() ile çözümleme json_decode() ile JSON dizesini PHP değerine çevirmeyi öğrenirsin. 5 dk
  3. 3 JSON hata yönetimi json_last_error() ve json_last_error_msg() ile JSON hatalarını yakalamayı öğrenirsin. 5 dk
  4. 4 header() ile Content-Type header('Content-Type: application/json') ile JSON yanıt başlığını ayarlamayı öğrenirsin. 5 dk
  5. 5 REST API temelleri REST mimarisinin temellerini ve kaynak (resource) kavramını öğrenirsin. 5 dk
  6. 6 HTTP yöntemleri GET, POST, PUT ve DELETE HTTP yöntemlerini ve REST'te kullanımını öğrenirsin. 5 dk
  7. 7 Özet - JSON ve API json_encode, header ve HTTP yöntemleriyle basit bir kullanıcı API'si yazarsın. 5 dk
9
Proje: REST APIProje
5 ders · 25 dk
  1. 1 Proje: REST API 5 derslik REST API projesine genel bakış: JSON, PDO ve routing ile görev API'si. 4 dk
  2. 2 Routing yapısı $_SERVER['REQUEST_METHOD'] ve URI ile basit bir routing kurarsın. 5 dk
  3. 3 CRUD endpoint'leri GET, POST, PUT ve DELETE endpoint'lerini PDO ile bağlarsın. 5 dk
  4. 4 JSON yanıt formatı Başarılı ve hata yanıtları için tutarlı JSON formatı yazarsın. 5 dk
  5. 5 Proje sonu - REST API Tüm parçaları birleştirip çalışan REST API'yi tamamlarsın. 6 dk
10
Güvenlik
7 ders · 35 dk
  1. 1 password_hash() ile hashleme password_hash() ve PASSWORD_DEFAULT ile güvenli parola hashlemeyi öğrenirsin. 5 dk
  2. 2 password_verify() ile doğrulama password_verify() ile düz parolayı hash'le karşılaştırmayı öğrenirsin. 5 dk
  3. 3 SQL injection korunması Prepared statement ile SQL injection'a karşı korumayı pekiştirirsin. 5 dk
  4. 4 XSS korunması htmlspecialchars() ve çıktı kaçışıyla XSS saldırısından korunmayı öğrenirsin. 5 dk
  5. 5 CSRF token üretimi Oturum tabanlı CSRF token üretip formlarda doğrulamayı öğrenirsin. 5 dk
  6. 6 Security headers Content-Security-Policy, X-Frame-Options ve HSTS gibi güvenlik başlıklarını öğrenirsin. 5 dk
  7. 7 Özet - Güvenlik password_hash, htmlspecialchars ve CSRF'le güvenli giriş formu yazarsın. 5 dk
11
Middleware
7 ders · 35 dk
  1. 1 Middleware deseni Middleware deseninin ne olduğunu ve istek işleme akışındaki yerini öğrenirsin. 5 dk
  2. 2 Request/Response döngüsü Middleware'lerin istek ve yanıt arasında nasıl zincirlendiğini öğrenirsin. 5 dk
  3. 3 Middleware zinciri Birden fazla middleware'i dizi ve callable ile zincirlemeyi öğrenirsin. 5 dk
  4. 4 Auth middleware Oturum kontrolü yapan bir auth middleware yazmayı öğrenirsin. 5 dk
  5. 5 Logging middleware İstekleri kaydeden bir logging middleware yazmayı öğrenirsin. 5 dk
  6. 6 PSR-15 temelleri PSR-15 middleware arayüzünü ve MiddlewareInterface'i öğrenirsin. 5 dk
  7. 7 Özet - Middleware Auth, logging ve PSR-15'le korumalı bir API route yapısı kurarsın. 5 dk
12
Test temelleri
7 ders · 35 dk
  1. 1 PHPUnit nedir? PHPUnit test çerçevesini ve birim testin amaçlarını öğrenirsin. 5 dk
  2. 2 İlk test yazma PHPUnit'de test sınıfı ve test methodu oluşturmayı öğrenirsin. 5 dk
  3. 3 Assertions (iddialar) assertEquals, assertTrue ve assertContains gibi yaygın assertion'ları öğrenirsin. 5 dk
  4. 4 Test düzeni (AAA) Arrange-Act-Assert (Hazırla-Çalıştır-Doğrula) test düzenini öğrenirsin. 5 dk
  5. 5 Test doubles (mock, stub) Bağımlılıkları izole etmek için mock ve stub kullanmayı öğrenirsin. 5 dk
  6. 6 setUp ve tearDown setUp() ve tearDown() ile her testten önce ve sonra çalışan hazırlık kodunu öğrenirsin. 5 dk
  7. 7 Özet - Test temelleri PHPUnit, assertion ve mock'la bir hesap sınıfı için test paketi yazarsın. 5 dk
13
Tasarım desenleri
7 ders · 35 dk
  1. 1 Singleton deseni Bir sınıftan yalnızca bir örnek oluşturan Singleton desenini öğrenirsin. 5 dk
  2. 2 Factory deseni Nesne oluşturmayı merkezi bir factory method'a taşımayı öğrenirsin. 5 dk
  3. 3 Observer deseni Bir konunun birden fazla gözlemciye haber vermesini sağlayan Observer desenini öğrenirsin. 5 dk
  4. 4 Strategy deseni Çalışma anında değiştirilebilir algoritma paketleyen Strategy desenini öğrenirsin. 5 dk
  5. 5 Decorator deseni Miras almadan davranış ekleyen Decorator desenini öğrenirsin. 5 dk
  6. 6 Adapter deseni Uyumsuz arayüzleri birbirine bağlayan Adapter desenini öğrenirsin. 5 dk
  7. 7 Özet - Tasarım desenleri Singleton, Factory ve Strategy'le ödeme yöntemi seçilebilen sepet sistemi yazarsın. 5 dk
14
İleri seviye finaliFinal
5 ders · 30 dk
  1. 1 Meydan okuma - PDO ve API PDO, prepared statement ve JSON'la güvenli bir ürün API'si yazarsın. 6 dk
  2. 2 Meydan okuma - Güvenlik uygulaması password_hash, CSRF ve güvenlik başlıklarıyla tam bir kimlik doğrulama akışı yazarsın. 6 dk
  3. 3 Meydan okuma - Tasarım desenleri Factory, Strategy ve Observer'la esnek bir bildirim sistemi yazarsın. 6 dk
  4. 4 Meydan okuma - Test yazma PHPUnit, mock ve AAA düzeniyle bir sipariş servisi için test paketi yazarsın. 6 dk
  5. 5 Meydan okuma - Mini framework Middleware, routing ve PDO'yla basit bir mini framework çekirdeği yazarsın. 6 dk

Generator'lar, closure'lar, reflection, performans, ileri güvenlik, modern PHP ve deployment ile uzman seviye konularını işlersin.

1
Generator'lar
7 ders · 35 dk
  1. 1 yield anahtar kelimesi yield ile değer üreten ve durumu koruyan fonksiyon yazmayı öğrenirsin. 5 dk
  2. 2 Generator sınıfı Generator sınıfının current(), next() ve send() methodlarını öğrenirsin. 5 dk
  3. 3 Bellek verimliliği Generator'ların büyük veri setlerinde nasıl bellek tasarrufu sağladığını öğrenirsin. 5 dk
  4. 4 Sonsuz generator'lar Sonsuz dizi üreten generator'ları ve sonlu döngüde kullanmayı öğrenirsin. 5 dk
  5. 5 yield from ile delegasyon yield from ile başka bir generator veya diziyi delegasyonla aktarmayı öğrenirsin. 5 dk
  6. 6 Generator ile pipeline Birden fazla generator'ı pipeline gibi zincirleyi veri akışı kurmayı öğrenirsin. 5 dk
  7. 7 Özet - Generator'lar yield, yield from ve pipeline'la büyük log dosyası ayrıştırıcı yazarsın. 5 dk
2
Closure ve callback
7 ders · 35 dk
  1. 1 Closure sınıfı Anonim fonksiyonların Closure sınıfının örnekleri olduğunu öğrenirsin. 5 dk
  2. 2 use ile değişken yakalama use ile dış kapsamdaki değişkenleri closure'a yakalamayı öğrenirsin. 5 dk
  3. 3 Arrow functions (fn) fn => ile kısa ve otomatik değişken yakalayan arrow function yazmayı öğrenirsin. 5 dk
  4. 4 callable türü callable tür bildirimiyle bir fonksiyonun başka fonksiyonu kabul etmesini öğrenirsin. 5 dk
  5. 5 Higher-order functions Fonksiyon döndüren veya kabul eden higher-order fonksiyonlar yazmayı öğrenirsin. 5 dk
  6. 6 Closure binding (bindTo) bindTo() ile bir closure'ı farklı bir nesneye bağlamayı öğrenirsin. 5 dk
  7. 7 Özet - Closure ve callback Closure, arrow function ve callable'la fonksiyonel filtre/map zinciri yazarsın. 5 dk
3
Reflection
7 ders · 35 dk
  1. 1 Reflection nedir? Reflection API ile çalışma anında sınıf ve method bilgisini sorgulamayı öğrenirsin. 5 dk
  2. 2 ReflectionClass ReflectionClass ile bir sınıfın property, method ve sabitlerini öğrenirsin. 5 dk
  3. 3 ReflectionMethod ReflectionMethod ile bir methodun parametre, görünürlük ve dönüş türünü öğrenirsin. 5 dk
  4. 4 ReflectionProperty ReflectionProperty ile property türünü öğrenip private değer okumayı öğrenirsin. 5 dk
  5. 5 Anotasyon okuma Doc comment ve #[] özniteliklerini reflection ile okumayı öğrenirsin. 5 dk
  6. 6 Dinamik metot çağrısı Reflection ile çalışma anında method çağırmayı öğrenirsin. 5 dk
  7. 7 Özet - Reflection ReflectionClass, ReflectionMethod ve özniteliklerle basit bir DI container yazarsın. 5 dk
4
Performans
7 ders · 35 dk
  1. 1 OPcache yapılandırması OPcache ile PHP bytecode'unu bellekte tutarak performans artışı sağlamayı öğrenirsin. 5 dk
  2. 2 Profil (profiling) araçları Xdebug ve XHProf ile profil çıkarıp darboğazları bulmayı öğrenirsin. 5 dk
  3. 3 Bellek yönetimi memory_get_usage() ve referans döngülerini kırarak bellek kullanımını yönetmeyi öğrenirsin. 5 dk
  4. 4 Benchmarking microtime() ile kod parçalarını kıyaslayan benchmark yazmayı öğrenirsin. 5 dk
  5. 5 N+1 sorgu problemi ORM ve veri yüklemede N+1 sorgu problemini ve eager loading çözümünü öğrenirsin. 5 dk
  6. 6 Lazy loading Veriyi yalnızca gerektiğinde yükleyen lazy loading yaklaşımlarını öğrenirsin. 5 dk
  7. 7 Özet - Performans OPcache, benchmark ve eager loading'le optimize edilmiş veri servisi yazarsın. 5 dk
5
İleri güvenlik
7 ders · 35 dk
  1. 1 password_needs_rehash() password_needs_rehash() ile eskimiş hash'leri yeni algoritmaya yükseltmeyi öğrenirsin. 5 dk
  2. 2 Rate limiting (hız sınırlama) Giriş ve API endpoint'lerinde hız sınırlama uygulayarak kaba kuvvet saldırısını önlemeyi öğrenirsin. 5 dk
  3. 3 Security headers (CSP, HSTS) Content-Security-Policy, HSTS ve X-Content-Type-Options başlıklarını yapılandırmayı öğrenirsin. 5 dk
  4. 4 Session fixation korunması session_regenerate_id() ile oturum sabitleme saldırısına karşı korunmayı öğrenirsin. 5 dk
  5. 5 Input sanitization filter_input() ve filter_var() ile girdiyi temizleyip doğrulamayı öğrenirsin. 5 dk
  6. 6 Secure file upload Güvenli dosya yükleme için MIME denetimi, rastgele ad ve depolama ayırmayı öğrenirsin. 5 dk
  7. 7 Özet - İleri güvenlik Rate limiting, CSP ve secure upload'la sertleştirilmiş bir uygulama iskeleti yazarsın. 5 dk
6
Modern PHP
7 ders · 35 dk
  1. 1 readonly property readonly property ile yalnızca bir kez yazılabilen özellikleri öğrenirsin. 5 dk
  2. 2 Enum'lar enum ile tür güvenli sabitler tanımlamayı ve kullanmayı öğrenirsin. 5 dk
  3. 3 match ifadesi match ifadesi ile switch'ten daha öz ve güvenli koşullu yazmayı öğrenirsin. 5 dk
  4. 4 Named arguments Parametre adıyla değer geçen named arguments kullanımını öğrenirsin. 5 dk
  5. 5 Fibers Fiber sınıfıyla iş parçacığı benzeri eşyordam (coroutine) yazmayı öğrenirsin. 5 dk
  6. 6 First-class callable syntax ... ile closure oluşturan first-class callable sözdizimini öğrenirsin. 5 dk
  7. 7 Özet - Modern PHP readonly, enum, match ve named arguments'la modern bir durum makinesi yazarsın. 5 dk
7
Deployment
7 ders · 35 dk
  1. 1 Docker ile PHP Dockerfile ve docker-compose ile PHP geliştirme ortamı kurmayı öğrenirsin. 5 dk
  2. 2 PHP-FPM yapılandırması PHP-FPM havuz ayarlarını ve process manager'ı öğrenirsin. 5 dk
  3. 3 Nginx yapılandırması Nginx'i PHP-FPM ile yapılandırıp ters proxy olarak kullanmayı öğrenirsin. 5 dk
  4. 4 CI/CD temelleri GitHub Actions veya GitLab CI ile sürekli entegrasyon hattı kurmayı öğrenirsin. 5 dk
  5. 5 Environment yönetimi .env dosyası ve getenv() ile ortam değişkenlerini yönetmeyi öğrenirsin. 5 dk
  6. 6 Zero-downtime deployment Sembolik link değiştirme ve atomic deploy ile sıfır kesintili dağıtımı öğrenirsin. 5 dk
  7. 7 Özet - Deployment Docker, PHP-FPM, Nginx ve CI'yla tam bir dağıtım hattı yazarsın. 5 dk
8
Uzman finaliFinal
5 ders · 30 dk
  1. 1 Meydan okuma - Generator ve Closure Generator, yield from ve closure'la büyük veri akışı işleyen bir ETL yazarsın. 6 dk
  2. 2 Meydan okuma - Reflection uygulaması Reflection ve özniteliklerle çalışan bir otomatik serileştirme (serializer) yazarsın. 6 dk
  3. 3 Meydan okuma - Performans optimizasyonu OPcache, benchmark ve eager loading'le optimize edilmiş bir rapor servisi yazarsın. 6 dk
  4. 4 Meydan okuma - Güvenli mimari Rate limiting, CSP ve session_regenerate_id'yle sertleştirilmiş bir API yazarsın. 6 dk
  5. 5 Meydan okuma - Tam PHP uygulaması readonly, enum, match, Fiber ve Docker'la modern bir görev yönetim sistemi yazarsın. 6 dk

Dersler ücretsiz, hesap ilerlemeni korur

Hesap açmak zorunlu değil. Açarsan kaldığın yerden devam eder, emeğini kaybetmezsin.

  • İlerlemen her cihazda kayıtlı
  • XP ve rozet kazan
  • Günlük seriyi koru
  • Kursu bitirince sertifika al
ücretsiz hesap aç

Sık sorulan sorular

PHP dersleri ücretsiz mi?

Evet. PHP kursundaki 377 dersin tamamı ücretsiz ve hesap açmadan başlayabilirsin.

Başlamak için ön bilgi gerekiyor mu?

Hayır. Başlangıç seviyesi sıfırdan anlatır; yalnızca bir tarayıcı yeterli. Konuyu biliyorsan üst seviyelerden başlayabilirsin.

Kursu bitirmek ne kadar sürer?

Dersler 2–8 dakikalık. Tüm kurs yaklaşık 30 saat; günde 15–20 dakikayla birkaç ayda bitirebilirsin.

Sertifika veriliyor mu?

Evet. Ücretsiz hesapla kursu tamamladığında adına doğrulanabilir bir sertifika oluşturulur.

Hesap açmadan ilerlemem kaybolur mu?

Hesapsız ilerlemen yalnızca kullandığın tarayıcıda tutulur. Ücretsiz hesap açtığında bu ilerleme hesabına aktarılır.

Sonraki adım C#

Modern C# 12 ve .NET 8 ile değişkenlerden OOP, async/await, LINQ ve uzman seviye konulara kadar tüm temelleri öğrenin.