Programlama Dili PHP

Genel Bakış

"Hypertext Preprocessor" (PHP), esas olarak web geliştirme için tasarlanmış açık kaynaklı bir sunucu tarafı betik dilidir, ancak genel amaçlı bir programlama dili olarak da kullanılmaktadır. Dinamik web sayfaları oluşturma, veritabanlarıyla etkili bir şekilde etkileşim kurma ve formları işleme konusundaki kullanım kolaylığı ve esnekliği ile geniş çapta bilinmektedir. PHP, HTML içine gömülebilir ve özellikle web sunucuları için uygundur. 2023 itibarıyla, PHP dünya genelinde önemli bir yüzdelik dilimi güçlendirmekte olup, WordPress, Facebook ve Wikipedia gibi büyük platformları içermektedir.

Tarihsel Boyutlar

Oluşum

PHP, 1993 yılında Danimarkalı-Kanadalı programcı Rasmus Lerdorf tarafından oluşturulmuştur. Kişisel ana sayfasını sürdürmek için kullandığı bir dizi Common Gateway Interface (CGI) ikili dosyası olarak başlamıştır. İlk projesine olan ilgi arttıkça, Lerdorf 1995 yılında kullanıcıların form verilerini toplamasına ve içeriklerini daha kolay yönetmesine olanak tanıyan PHP/FI (Kişisel Ana Sayfa/Form Yorumlayıcısı) olarak genişletmiştir.

Evrim ve Büyüme

PHP/FI'nin piyasaya sürülmesinin ardından, dil daha geniş bir topluluk tarafından katkılar almış ve 1998 yılında Andi Gutmans ve Zeev Suraski tarafından geliştirilen PHP 3'ün piyasaya sürülmesine yol açmıştır. Bu sürüm, daha sağlam bir motor ve özellikler tanıtarak 2000 yılında PHP 4'ün temellerini atmıştır. PHP 5, 2004 yılında nesne yönelimli programlama (OOP) yetenekleri ve veritabanı etkileşimi için PHP Data Objects (PDO) uzantısını tanıtarak takip etmiştir.

Mevcut Durum

O tarihten bu yana, PHP sürekli bir gelişim göstermiştir; PHP 7, 2015 yılının sonlarında performans iyileştirmeleri ve yeni dil özelliklerine odaklanarak piyasaya sürülmüştür. 2021 itibarıyla PHP 8 piyasaya sürülmüş, JIT (Just In Time) derleme, birleşim türleri, adlandırılmış argümanlar ve nitelikler gibi yenilikler eklenerek modern web geliştirmedeki önemini pekiştirmiştir. PHP, geniş bir çerçeve, kütüphane ve topluluk kaynakları ekosistemi ile programlama dilleri alanında önemli bir oyuncu olmaya devam etmektedir.

Sözdizimi Özellikleri

Değişken Tanımlama

PHP'de değişkenler, değişken adının önünde bir dolar işareti ($) ile tanımlanır.

$greeting = "Merhaba, Dünya!";

Diziler

PHP, birden fazla değeri tutabilen hem dizinli hem de ilişkisel dizileri destekler.

$fruits = array("elma", "muz", "portakal");
$associativeArray = array("isim" => "John", "yaş" => 30);

Fonksiyonlar

PHP'de fonksiyonlar function anahtar kelimesi kullanılarak tanımlanabilir, bu da kodun yeniden kullanılmasını sağlar.

function add($a, $b) {
    return $a + $b;
}

Kontrol Yapıları

PHP, koşullu mantık için if, else ve switch gibi tipik kontrol yapıları içerir.

if ($age >= 18) {
    echo "Yetişkin";
} else {
    echo "Reşit değil";
}

Döngüler

PHP, for, while ve foreach gibi çeşitli döngüleri destekler.

foreach ($fruits as $fruit) {
    echo $fruit;
}

Nesne Yönelimli Programlama

PHP, sınıflar ve nesneler gibi OOP kavramlarını destekler.

class Car {
    public $color;
    function __construct($color) {
        $this->color = $color;
    }
}
$myCar = new Car("mavi");

Hata Yönetimi

PHP, try, catch ve finally ile istisnalar kullanarak hata yönetimi sağlar.

try {
    throw new Exception("Bir hata oluştu");
} catch (Exception $e) {
    echo $e->getMessage();
}

Dosya Dahil Etme

PHP, modüler programlama için dosyaların dahil edilmesine olanak tanır.

include 'header.php';

Süper Global Değişkenler

PHP, herhangi bir kapsamdan erişilebilen birkaç yerleşik değişken sunar.

echo $_POST['kullanici_adi'];

Tür Tanımlama

PHP 7 ve sonrasında, tür güvenliğini sağlamak için tür tanımlamaları kullanılabilir.

function sum(int $a, int $b): int {
    return $a + $b;
}

Geliştirici Araçları ve Çalışma Zamanları

Popüler IDE'ler

PHP için yaygın Entegre Geliştirme Ortamları (IDE'ler) arasında PhpStorm, Visual Studio Code, NetBeans ve Eclipse PDT bulunmaktadır. Her biri hata ayıklama, kod tamamlama ve proje yönetimi için sağlam araçlar sunar.

Derleyici ve Yorumlayıcı

PHP esasen yorumlanan bir dildir ve PHP betiklerini işlemek için Zend Engine'e dayanır. XAMPP veya LAMP gibi yazılım yığınları ile bir sunucu ortamında çalıştırılabilir.

Proje Oluşturma

Genellikle, PHP projeleri kaynak dosyaları, yapılandırma dosyaları ve bağımlılıkları içeren dizinlerde yapılandırılır. Composer, PHP uygulamaları için yaygın olarak kullanılan bağımlılık yöneticisidir ve paket yönetimini ve otomatik yüklemeyi basitleştirir.

PHP Uygulamaları

PHP esas olarak sunucu tarafı betikleme için kullanılır, ancak uygulamaları şunları içerir:

İlgili Dillerle Karşılaştırma

JavaScript, Python ve Ruby gibi dillerle karşılaştırıldığında, PHP geniş kütüphaneleri ve çerçeveleri nedeniyle web arka uç geliştirme için popüler bir seçim olmaya devam etmektedir. Ancak, PHP açıkça web uygulamaları için tasarlanmışken, Python ve Ruby gibi diller genellikle daha genel programlama görevleri için kullanılmaktadır.

Kaynak Koddan Kaynak Koda Çeviri İpuçları

Kaynak koddan kaynak koda çeviri veya transpilation, bir programlama dilinden diğerine kod dönüştürmeyi içerir. PHP için birkaç araç mevcuttur: