PHP Temelleri ve Kavramlar
PHP, web geliştirmenin yaygın olarak kullanılan bir programlama dilidir. Bu ders notları, PHP ile başlangıç seviyesinden ileri seviyeye kadar olan kavramları detaylı bir şekilde anlatmaktadır.
1. Değişkenler ve Veri Türleri
Değişken Tanımlama ve Kullanma:
$ad = "John";
$yas = 25;
echo "Merhaba, $ad! Yaşınız: $yas";
Veri Türleri:
- String (Metin):
"Merhaba"
- Integer (Tam Sayı):
42
- Float (Ondalık Sayı):
3.14
- Boolean (Mantıksal):
true
veyafalse
- Diziler ve Nesneler:
$dizi = [1, 2, 3]
veya$nesne = new stdClass();
2. Operatörler ve İfadeler
Aritmetik Operatörler:
$a = 10;
$b = 5;
$toplam = $a + $b;
$fark = $a - $b;
$carpim = $a * $b;
$bolum = $a / $b;
echo "Toplam: $toplam, Fark: $fark, Çarpım: $carpim, Bölüm: $bolum";
Karşılaştırma ve Mantıksal Operatörler:
$x = 10;
$y = 5;
$esitMi = ($x == $y); // false
$kucukMu = ($x < $y); // false
$mantiksalAnd = ($x > 0 && $y < 10); // true
echo "Eşit Mi: " . ($esitMi ? "Evet" : "Hayır") . ", Küçük Mü: " . ($kucukMu ? "Evet" : "Hayır") . ", Mantıksal AND: " . ($mantiksalAnd ? "Evet" : "Hayır");
3. Kontrol Yapıları
if
, else if
, else
:
$not = 75;
if ($not >= 90) {
echo "Harf notunuz: A";
} elseif ($not >= 80) {
echo "Harf notunuz: B";
} elseif ($not >= 70) {
echo "Harf notunuz: C";
} else {
echo "Harf notunuz: F";
}
switch
:
$gun = "Pazartesi";
switch ($gun) {
case "Pazartesi":
echo "Yeni bir haftaya başladık!";
break;
case "Çarşamba":
echo "Haftanın ortası geldi.";
break;
case "Cuma":
echo "Hafta sonu yaklaşıyor!";
break;
default:
echo "Bilinmeyen bir gün.";
}
4. Döngüler
for
Döngüsü:
for ($i = 1; $i <= 5; $i++) {
echo $i . " ";
}
while
Döngüsü:
$i = 1;
while ($i <= 5) {
echo $i . " ";
$i++;
}
foreach
Döngüsü:
$renkler = ["Kırmızı", "Yeşil", "Mavi"];
foreach ($renkler as $renk) {
echo $renk . " ";
}
5. Fonksiyonlar
Fonksiyon Tanımlama ve Kullanma:
function toplama($sayi1, $sayi2) {
return $sayi1 + $sayi2;
}
$sonuc = toplama(5, 3);
echo "Toplam: $sonuc";
Varsayılan Parametreler:
function selamla($isim = "Ziyaretçi") {
echo "Merhaba, $isim!";
}
selamla(); // "Merhaba, Ziyaretçi!"
selamla("John"); // "Merhaba, John!"
6. Diziler ve İleri Seviye Veri Yapıları
İndeksli Diziler:
$ogrenciler = ["Ali", "Ayşe", "Mehmet"];
echo "İlk öğrenci: " . $ogrenciler[0];
Assoziatif Diziler:
$kisi = [
"ad" => "John",
"yas" => 25,
"meslek" => "Geliştirici"
];
echo "Ad: " . $kisi["ad"] . ", Yaş: " . $kisi["yas"] . ", Meslek: " . $kisi["meslek"];
Çok Boyutlu Diziler:
$matris = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
echo "Matrisin ortadaki eleman: " . $matris[1][1];
7. İleri Seviye Konular: OOP ve MVC
Nesne Yönelimli Programlama (OOP):
class Araba {
public $marka;
public $model;
public function __construct($marka, $model) {
$this->marka = $marka;
$this->model = $model;
}
public function bilgileriGetir() {
return "Marka: " . $this->marka . ", Model: " . $this->model;
}
}
$araba = new Araba("Toyota", "Corolla");
echo $araba->bilgileriGetir();
Model-View-Controller (MVC):
Bu konsept, uygulamanın veri, kullanıcı arayüzü ve iş mantığı arasındaki ayrımı sağlar.