Merhaba! Eğer web geliştirme dünyasına yeni adım atıyorsanız veya sunucu tarafı programlama dillerini keşfetmeye başlamak istiyorsanız, PHP tam size göre bir başlangıç noktası olabilir. Bu makalede, PHP'nin ne olduğunu, tarihçesini, temel kavramlarını ve pratik örneklerini uzun uzadıya ele alacağız. Amacımız, sıfırdan başlayarak sizi PHP'nin temel prensipleriyle tanıştırmak. Makaleyi okuduktan sonra, kendi basit web uygulamalarınızı oluşturmaya hazır hissedeceksiniz. Hazırsanız, başlayalım!
PHP Nedir ve Neden Önemlidir?
PHP, "PHP: Hypertext Preprocessor" kelimelerinin kısaltmasıdır. Aslında bu, biraz döngüsel bir kısaltma çünkü orijinal adı "Personal Home Page" idi. PHP, sunucu tarafında çalışan bir script dilidir. Yani, web sitelerinin arkasında çalışan kodları yazmak için kullanılır. Kullanıcı bir web sayfası talep ettiğinde, PHP kodu sunucuda işlenir ve sonuç HTML olarak tarayıcıya gönderilir.
Neden PHP öğrenmelisiniz? İşte birkaç sebep:
- Kolay Öğrenilebilirlik: PHP, C-like syntax'ı sayesinde yeni başlayanlar için erişilebilir. Eğer HTML biliyorsanız, PHP ile entegre etmek çok basit.
- Geniş Kullanım Alanı: WordPress, Facebook (başlangıçta), Joomla gibi birçok popüler platform PHP tabanlıdır. Dünya çapında milyonlarca web sitesi PHP kullanıyor.
- Ücretsiz ve Açık Kaynak: PHP'yi indirmek ve kullanmak tamamen ücretsiz. Topluluk desteği sayesinde binlerce kütüphane ve araç mevcut.
- Hızlı Prototiplendirme: Hızlı geliştirme için ideal; hataları anında görebilirsiniz.
PHP, dinamik web sayfaları oluşturmak için mükemmeldir. Örneğin, bir formdan veri almak, veritabanı sorguları yapmak veya kullanıcı oturumlarını yönetmek gibi işlevler için kullanılır.
PHP'nin Tarihçesi
PHP'nin hikayesi 1994 yılına dayanır. Rasmus Lerdorf adlı bir geliştirici, kendi web sitesini yönetmek için basit bir script seti oluşturdu. Bu, "Personal Home Page Tools" olarak başladı. 1995'te halka açıldı ve hızla popüler oldu.
- PHP 3 (1998): Zend Engine'in temeli atıldı ve dil resmi olarak "PHP: Hypertext Preprocessor" adını aldı.
- PHP 4 (2000): Performans iyileştirmeleriyle geldi.
- PHP 5 (2004): Nesne yönelimli programlama (OOP) desteği eklendi, ki bu modern PHP'nin temelini oluşturdu.
- PHP 7 (2015): Büyük hız artışları sağladı; PHP 5'e göre 2 kat daha hızlı.
- PHP 8 (2020 ve sonrası): JIT derleme, attributes gibi özelliklerle güncellendi.
Bugün PHP, sürekli evrilen bir dil. En son sürümler, güvenlik ve performans odaklı.
PHP Kurulumu ve İlk Adımlar
PHP'yi kullanmaya başlamak için bir sunucuya ihtiyacınız var. Yerel geliştirme için XAMPP, WAMP veya MAMP gibi paketleri kullanabilirsiniz. Bunlar Apache sunucusu, MySQL veritabanı ve PHP'yi bir arada sunar.
- Kurulum Adımları:
- XAMPP'i resmi siteden indirin (ama bu makalede başka link yok, hatırlayın!).
- Kurulumu tamamlayın ve Apache ile PHP modüllerini başlatın.
- htdocs klasörüne bir dosya oluşturun, örneğin merhaba.php.
- İlk PHP Kodu:
PHP dosyaları .php uzantılı olur. İçine şu kodu yazın:Tarayıcıda http://localhost/merhaba.php adresini açın. "Merhaba Dünya!" yazısını göreceksiniz.<?phpecho "Merhaba Dünya!";?>
PHP kodları <?php ile başlar ve ?> ile biter. HTML ile karışık kullanılabilir.
Temel Syntax ve Değişkenler
PHP'nin syntax'ı basit ve okunaklıdır. Yorum satırları için // veya /* */ kullanılır.
- Değişkenler: Değişkenler $ işaretiyle başlar. Tip belirtmeye gerek yok; dinamik tipli bir dil.Çıktı: "Ahmet 25 yaşında."<?php$isim = "Ahmet"; // String$yas = 25; // Integer$boy = 1.75; // Float$evliMi = true; // Booleanecho $isim . " " . $yas . " yaşında.";?>
- Sabitler: define() ile tanımlanır.<?phpdefine("PI", 3.14159);echo PI;?>
- Operatörler: Aritmetik (+, -, *, /), karşılaştırma (==, !=, >, <), mantıksal (&&, ||, !).
Kontrol Yapıları: Koşullar ve Döngüler
PHP'de karar verme ve tekrar eden işler için yapılar var.
- If-Else:
<?php$not = 75;if ($not >= 50) {echo "Geçti!";} else {echo "Kaldı.";}?>
- Switch:
<?php$gun = "Pazartesi";switch ($gun) {case "Pazartesi":echo "Hafta başı.";break;default:echo "Diğer gün.";}?>
- Döngüler:
- For:
<?phpfor ($i = 1; $i <= 5; $i++) {echo $i . "<br>";}?>
- While:
<?php$sayi = 1;while ($sayi <= 5) {echo $sayi . "<br>";$sayi++;}?> - Foreach (Diziler için):
<?php$meyveler = array("Elma", "Muz", "Portakal");foreach ($meyveler as $meyve) {echo $meyve . "<br>";}?>
- For:
Diziler ve Fonksiyonlar
- Diziler: İndeksli veya ilişkisel.
<?php$sayilar = array(1, 2, 3); // İndeksli$kisi = array("isim" => "Ayşe", "yas" => 30); // İlişkiselecho $kisi["isim"];?>
- Fonksiyonlar: Yeniden kullanılabilir kod blokları.
<?phpfunction topla($a, $b) {return $a + $b;}echo topla(5, 3); // 8?>
Form İşleme ve GET/POST
PHP'nin gücü, kullanıcı etkileşiminde. Bir HTML formu ile veri alın.
HTML kısım:
<form action="islem.php" method="post">
İsim: <input type="text" name="isim">
<input type="submit">
</form>PHP (islem.php):
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$isim = $_POST["isim"];
echo "Merhaba, " . $isim;
}
?>GET için method="get" ve $_GET kullanın.
Veritabanı Bağlantısı (Temel)
PHP, MySQL ile kolay entegre olur. PDO veya mysqli kullanın.
Örnek (mysqli):
<?php
$server = "localhost";
$kullanici = "root";
$sifre = "";
$vt = "ornekvt";
$baglanti = new mysqli($server, $kullanici, $sifre, $vt);
if ($baglanti->connect_error) {
die("Bağlantı hatası: " . $baglanti->connect_error);
}
$sorgu = "SELECT * FROM kullanicilar";
$sonuc = $baglanti->query($sorgu);
if ($sonuc->num_rows > 0) {
while($satir = $sonuc->fetch_assoc()) {
echo $satir["isim"] . "<br>";
}
} else {
echo "Kayıt yok.";
}
$baglanti->close();
?>Güvenlik İpuçları
- SQL Injection Önleme: Prepared statements kullanın.
- XSS: htmlspecialchars() ile kaçının.
- Dosya Yükleme: Dosya tiplerini kontrol edin.
Nesne Yönelimli PHP (OOP Temelleri)
PHP 5'ten beri OOP destekler.
- Sınıf ve Nesne:<?phpclass Araba {public $marka;function calistir() {echo "Araba çalışıyor.";}}$benimArabam = new Araba();$benimArabam->marka = "Toyota";$benimArabam->calistir();?>
İleri Konulara Giriş
- Çerçeveler: Laravel, Symfony gibi çerçeveler PHP'yi daha güçlü kılar.
- API'ler: RESTful API'ler oluşturun.
- Hata Yönetimi: try-catch blokları.
Bu makale, PHP'nin temelini kapsıyor. Pratik yaparak ilerleyin; küçük projeler yapın, örneğin bir todo listesi veya blog.
Daha fazla bilgi ve örnekler için: https://www.gulgec.tr
Yorumlar (0)
Henüz yorum yapılmamış. İlk yorumu siz yapın!