PHP

PHP Nedir? Sıfırdan Başlangıç Rehberi

PHP Nedir? Sıfırdan Başlangıç Rehberi

Web teknolojileri ile ilgilenmeye başlayan herkesin karşısına ilk çıkan kavramlardan biri şüphesiz PHP olur. İnternetin omurgasını oluşturan milyonlarca web sitesi ve web uygulaması, arka planda bu güçlü dilden beslenir. Bu yazıda, programlamaya yeni adım atanlar için PHP nedir sorusunu yanıtlayacak, çalışma prensibini inceleyecek ve temel sözdizimini çalışır kod örnekleriyle ele alacağız.

PHP Nedir ve Nasıl Çalışır?

PHP, açılımı “PHP: Hypertext Preprocessor” olan, özellikle web geliştirme için tasarlanmış açık kaynaklı, sunucu taraflı (server-side) bir betik dilidir. Sunucu taraflı olması, yazılan kodların kullanıcının tarayıcısında değil, web sitesini barındıran sunucuda işlendiği anlamına gelir.

Statik bir HTML dosyasında tarayıcı sunucudan belgeyi talep eder ve sunucu dosyayı olduğu gibi tarayıcıya iletir. PHP ile çalışan dinamik bir sistemde ise süreç farklı işler:

  • Kullanıcı tarayıcı üzerinden bir sayfa talebinde bulunur.
  • Sunucu, talep edilen dosyanın PHP kodu içerdiğini tespit eder ve PHP derleyicisine gönderir.
  • PHP derleyicisi kodları satır satır çalıştırır, gerekirse veritabanından bilgi çeker ve sonuç olarak standart bir HTML çıktısı üretir.
  • Üretilen saf HTML çıktısı tarayıcıya geri gönderilir.

Bu süreç sayesinde kullanıcı, kaynak kodları görüntülediğinde sunucuda çalışan PHP kodlarını göremez; yalnızca üretilen son HTML çıktısını görür. Bu mekanizma hem veri güvenliğini sağlar hem de kişiselleştirilmiş dinamik içeriklerin oluşturulmasına imkan tanır.

Neden PHP Öğrenmelisiniz?

Yazılım dünyasında onlarca farklı dil varken PHP’nin uzun yıllardır popülerliğini korumasının belirli nedenleri vardır:

  • Düşük Öğrenme Eğrisi: C ve Java tabanlı dillerin sözdizimine benzer, okunabilirliği yüksek ve başlangıç için son derece anlaşılır bir yapıya sahiptir.
  • Geniş Ekosistem: WordPress, Drupal gibi popüler içerik yönetim sistemleri ve Laravel, Symfony gibi modern çatı sistemleri (framework) PHP altyapısını kullanır.
  • Platform Bağımsızlığı: Windows, Linux, macOS gibi tüm büyük işletim sistemlerinde sorunsuz çalışır.
  • Yüksek Topluluk Desteği: Karşılaşabileceğiniz hemen hemen her hata veya ihtiyaç duyabileceğiniz her kütüphane için internette geniş bir kaynak havuzu mevcuttur.

Geliştirme Ortamının Hazırlanması

PHP kodlarını bilgisayarınızda yerel olarak çalıştırabilmek için bir web sunucusuna (Apache veya Nginx) ve PHP yorumlayıcısına ihtiyacınız vardır. Yeni başlayanlar için bu bileşenleri tek tek kurmak yerine XAMPP, WampServer veya MAMP gibi hazır paket yazılımları kullanmak en pratik yoldur.

Alternatif olarak, sisteminizde PHP kuruluysa harici bir sunucu yazılımına ihtiyaç duymadan yerleşik test sunucusunu da kullanabilirsiniz. Terminal veya komut satırını açarak dosyanızın bulunduğu dizinde şu komutu çalıştırmanız yeterlidir:

php -S localhost:8000

Bu komut, bulunduğunuz dizini kök dizin kabul ederek 8000 portu üzerinden yerel bir geliştirme sunucusu başlatır.

Temel PHP Sözdizimi

PHP kodları, HTML belgelerinin içerisine doğrudan gömülebilir. PHP motorunun kodları ayrıştırabilmesi için özel etiketler kullanılır. Her PHP kod bloğu başlangıç etiketi ile açılır ve bitiş etiketi ile kapatılır.

<?php
echo "Merhaba Dünya!";
?>

Yukarıdaki örnekte echo, PHP’de ekrana metin veya veri yazdırmak için kullanılan temel ifadedir. PHP’de her komut satırının sonuna noktalı virgül koyulması zorunludur.

Değişkenler ve Veri Tipleri

PHP’de değişkenler daima dolar işareti ($) ile başlar. PHP, tür tanımlaması gerektirmeyen (loosely typed) bir dildir; yani bir değişkenin veri tipini önceden belirtmeniz gerekmez. Değişkene atanan değere göre tür otomatik olarak belirlenir.

<?php
$metin = "Yunus Kaytan";
$yas = 28;
$ortalama = 85.5;
$aktifMi = true;

echo $metin . " - " . $yas;
?>

Bu kod bloğunda sırasıyla metin (string), tam sayı (integer), ondalıklı sayı (float) ve mantıksal (boolean) veri tipleri tanımlanmıştır. Metinleri birleştirmek için nokta (.) operatörü kullanılır.

Koşullu İfadeler

Program akışını belirli şartlara göre yönlendirmek için koşul blokları kullanılır. En yaygın kullanılan yapı if, else ve elseif ifadeleridir.

<?php
$puan = 75;

if ($puan >= 85) {
    echo "Derece: Pekiyi";
} elseif ($puan >= 50) {
    echo "Derece: Başarılı";
} else {
    echo "Derece: Başarısız";
}
?>

Bu örnekte $puan değişkeninin değeri kontrol edilir ve sağlanan koşulun altındaki kod bloğu çalıştırılır. Değer 75 olduğu için ekrana “Derece: Başarılı” yazdırılır.

Döngüler ve Diziler

Birden fazla veriyi tek bir değişkende saklamak için diziler (arrays) kullanılır. Dizilerdeki verileri tek tek işlemek için ise en ideal yöntem foreach döngüsüdür.

<?php
$programlamaDilleri = array("PHP", "Python", "JavaScript", "Go");

foreach ($programlamaDilleri as $dil) {
    echo "Dillerden biri: " . $dil . "<br>";
}
?>

Bu kodda dört elemanlı bir indeksli dizi tanımlanmıştır. foreach döngüsü her adımda sıradaki dizi elemanını $dil değişkenine atar ve ekrana yazdırır.

Fonksiyonlar

Fonksiyonlar, belirli bir görevi yerine getiren ve tekrar tekrar çağrılabilen kod bloklarıdır. Kod tekrarını önler ve projeyi modüler hale getirir.

<?php
function toplama($sayi1, $sayi2) {
    $sonuc = $sayi1 + $sayi2;
    return $sonuc;
}

$islemSonucu = toplama(10, 25);
echo "Toplam: " . $islemSonucu;
?>

Burada iki parametre alan ve bu parametreleri toplayarak geriye döndüren (return) bir fonksiyon oluşturulmuş, ardından 10 ve 25 değerleriyle çağrılarak sonuç ekrana basılmıştır.

Form Verilerini Alma (GET ve POST)

Web sitelerinde kullanıcıdan veri toplamak için HTML formları kullanılır. PHP, formlar üzerinden gönderilen verileri yakalamak için süper küresel (superglobal) değişkenler sunar: $_GET ve $_POST.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $kullaniciAdi = htmlspecialchars($_POST["kullanici"]);
    echo "Hoş geldiniz, " . $kullaniciAdi;
}
?>

Bu örnekte, sunucuya bir POST isteği yapılıp yapılmadığı kontrol edilir. Gönderilen formdaki “kullanici” verisi $_POST süper küreseli ile yakalanır. htmlspecialchars fonksiyonu ise girilen zararlı HTML veya JavaScript etiketlerini etkisiz hale getirerek temel düzeyde XSS (Cross-Site Scripting) güvenlik açığını engeller.

Sonuç ve Sonraki Adımlar

PHP, web uygulamaları geliştirmek için düşük maliyetli, hızlı ve esnek bir çalışma ortamı sunar. Temel sözdizimini, değişkenleri, koşulları ve döngüleri kavradıktan sonraki adımınız, veritabanı bağlantılarını öğrenmek olmalıdır. PHP Veri Nesneleri (PDO) ile MySQL veritabanına bağlanmayı ve CRUD (Oluştur, Oku, Güncelle, Sil) işlemlerini uygulamayı öğrenerek dinamik web geliştirme yolculuğunuzu ilerletebilirsiniz.

#backend#php#programlama dilleri#web gelistirme#yazılım

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yaz

Yorumlar yönetici onayından sonra yayınlanır.