PHP
PHP: Hypertext Preprocessor
Kısaca
PHP, web geliştirme için tasarlanmış, sunucuda çalışarak HTML sayfaları üreten ve tarayıcı isteklerini yanıtlayan, dinamik tipli bir betik dilidir.
PHP nedir?
PHP, Rasmus Lerdorf tarafından 1994'te, aslen kişisel ana sayfası için bir araç takımı olarak geliştirilen, web geliştirmeye yönelik bir betik dilidir. Bugün ad, "PHP: Hypertext Preprocessor" ifadesinin özyinelemeli kısaltmasıdır. PHP sunucuda çalışır: bir tarayıcı sayfa istediğinde web sunucusu isteği PHP'ye iletir, PHP betiği çalıştırır ve ortaya çıkan HTML ya da JSON'u geri gönderir. PHP kodu, <?php ve ?> etiketleri arasında doğrudan HTML'in içine bile gömülebilir.
PHP dinamik tiplidir, ancak modern sürümler fonksiyon parametreleri, dönüş değerleri ve sınıf özellikleri için tip bildirimlerini destekler; declare(strict_types=1) ise bu denetimlerde otomatik tip dönüşümünü kapatır. Bellek, referans sayımı ve bir döngü toplayıcıyla otomatik yönetilir. Geleneksel modelde her istek temiz bir sayfayla başlar ve tüm belleği yanıt gönderildiğinde serbest bırakılır; bu da uygulamaların akıl yürütmesini ve ölçeklenmesini basit tutar.
PHP, birçok içerik yönetim sistemi, blog, çevrimiçi mağaza ve web API'si dahil web sitelerinin büyük bir bölümüne güç verir ve genellikle bir SQL veritabanıyla birlikte kullanılır. PHP bir restoran mutfağı gibi çalışır: müşteri (tarayıcı) yalnızca bitmiş yemeği (HTML) alır, tarifi (PHP kodunu) asla görmez. PHP 8 ile başlayan son sürümler JIT derleyici, birleşim tipleri (union types), enum'lar, match ifadeleri ve salt okunur özellikler ekledi.
PHP, ikisi de web ile yakından ilişkili olduğu için bazen JavaScript ile karıştırılır. PHP sunucuda çalışır ve tarayıcı kodunu hiç görmez; JavaScript ise sunucularda da çalışabilmesine rağmen çoğunlukla sayfaları etkileşimli kılmak için tarayıcıda çalışır. Eski PHP sürümleri tutarsız fonksiyonları ve gevşek tip dönüştürmeleri nedeniyle eleştirilirdi; ancak 7 ve 8 sürümleri büyük hız iyileştirmeleri ve çok daha katı tipleme seçenekleri getirdi.
Önemli noktalar
- PHP sunucuda çalışır ve tarayıcıya yalnızca HTML ya da JSON gibi çıktısını gönderir.
- Dinamik tiplidir; isteğe bağlı tip bildirimleri ve katı tip modu sunar.
- Bellek otomatik yönetilir ve her isteğin sonunda serbest bırakılır.
- Birçok içerik yönetim sistemi dahil web sitelerinin büyük bir bölümüne güç verir.
- Modern PHP 8; enum'lar,
matchifadeleri ve JIT derleyici gibi özellikler ekler.
Örnek
<?php
declare(strict_types=1);
// Type declarations reject wrong argument types when called
function greet(string $name, int $visits): string
{
return "Hello, {$name}! This is visit number {$visits}.";
}
$name = htmlspecialchars($_GET['name'] ?? 'guest'); // Escape user input
echo greet($name, 3);Sık sorulan sorular
PHP hâlâ kullanılıyor mu?
Evet. PHP, özellikle popüler içerik yönetim sistemleriyle yapılan siteler olmak üzere webin büyük bir bölümünü hâlâ çalıştırıyor ve dil her yıl yeni özellikler ve performans iyileştirmeleriyle yeni bir sürüm alıyor.
PHP ne anlama gelir?
PHP başlangıçta Personal Home Page anlamına geliyordu. Bugün ise PHP: Hypertext Preprocessor ifadesinin özyinelemeli kısaltmasıdır; ilk harf yine adın kendisine gönderme yapar.
PHP ile JavaScript arasındaki fark nedir?
PHP sunucuda çalışır ve bitmiş sonucu tarayıcıya gönderir; JavaScript ise esas olarak sayfaları etkileşimli kılmak için tarayıcının içinde çalışır. JavaScript, Node.js gibi çalışma ortamlarıyla sunucularda da çalışabilir.
İlgili sayfalar
- Web SunucusuBackend ve API'ler, s. 46Web sunucusu, tarayıcılardan ve diğer istemcilerden gelen HTTP isteklerini alıp sayfa, dosya ya da veriyle yanıt veren yazılım veya onu çalıştıran makinedir.
- HTMLWeb Geliştirme, s. 19HTML, başlık, paragraf, bağlantı, görsel ve form gibi öğelerle web sayfalarının yapısını ve içeriğini tanımlayan işaretleme dilidir.
- HTTPWeb Geliştirme, s. 20HTTP, tarayıcıların, uygulamaların ve sunucuların basit bir istek-yanıt döngüsüyle web sayfaları ve veri alışverişi yapmasını sağlayan protokoldür.
- JavaScriptWeb Geliştirme, s. 25JavaScript, web tarayıcılarında sayfaları etkileşimli hale getiren ve Node.js gibi çalışma ortamlarıyla sunucularda da çalışan programlama dilidir.
- OturumBackend ve API'ler, s. 33Oturum, sunucunun bir kullanıcıyı birçok istek boyunca hatırlama yöntemidir; genellikle veriler sunucuda tutulur ve tarayıcıya bir oturum kimliği verilir.
- SQL InjectionGüvenlik, s. 39SQL injection, kullanıcı girdisinin veritabanı sorgusunun parçası sayıldığı ve saldırganın erişmemesi gereken verileri okuyup değiştirebildiği saldırıdır.
- LaravelBackend ve API'ler, s. 26Laravel, tam web uygulamaları için zarif sözdizimli PHP framework'üdür; yönlendirme, Eloquent ORM, kimlik doğrulama, kuyruklar ve migration'lar yerleşiktir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin