- PHP'nin ne olduğunu ve sunucu tarafında nasıl çalıştığını açıklamak
- Bir betiği
php file.phpvephp -Skomutlarıyla çalıştırmak echo,print,<?=etiketi ve yorumları kullanmak
Vikipedi'de bir makale okuduğunda ya da WordPress ile kurulmuş bir haber sitesini açtığında sayfayı senin için uzaktaki bir bilgisayar, yani bir sunucu hazırlar. Bu işi çoğu zaman PHP yapar: veritabanından bilgiyi alır, bir HTML sayfası oluşturur ve tarayıcına gönderir. Bu derste PHP'nin nasıl çalıştığını öğrenecek ve ilk betiğini yazacaksın.
PHP nedir?
PHP, sunucu tarafında çalışan bir betik dilidir. Rasmus Lerdorf onu 1994'te kendi kişisel web sitesi için geliştirdi; bugün ise dili geniş bir açık topluluk geliştiriyor. Adı önce Personal Home Page (kişisel ana sayfa) sözcüklerinden geliyordu, şimdi ise özyinelemeli bir kısaltmadır: PHP: Hypertext Preprocessor. Modern sürümler PHP 8.x serisindendir ve yeni bir sürüm genellikle yılda bir kez, yıl sonuna doğru çıkar.
- WordPress — dünyadaki tüm web sitelerinin %40'ından fazlası bu PHP sistemi üzerinde çalışır.
- Laravel ve Symfony — web uygulamaları geliştirmek için en popüler PHP çatıları (framework).
- Vikipedi — motoru olan MediaWiki PHP ile yazılmıştır.
- Çevrim içi mağazalar — WooCommerce ve Magento gibi platformlar da PHP üzerine kuruludur.
Sunucu tarafı nasıl çalışır?
- 1İstek
Tarayıcı sunucuya bir istek gönderir; örneğin
https://example.com/weather.phpadresini açar. - 2PHP devreye girer
Web sunucusu (Apache ya da Nginx)
.phpuzantısını görür ve dosyayı PHP'ye iletir. - 3Kod çalışır
PHP kodu çalıştırır: veritabanını sorgular, hesaplamalar yapar ve HTML metni üretir.
- 4Yanıt
Sunucu hazır HTML'i tarayıcıya geri gönderir. Kullanıcı PHP kodunu hiçbir zaman görmez, yalnızca sonucunu görür.
PHP'yi çalıştırmak
PHP'yi resmî php.net sitesinden indirebilirsin; Windows'ta XAMPP ya da Laragon gibi hazır paketler de kullanışlıdır, macOS'ta Homebrew, Linux'ta ise paket yöneticisi kullanılır. Kurulumdan sonra terminalde şu komutlarla çalışırsın:
| Komut | Ne yapar |
|---|---|
php -v | kurulu PHP sürümünü gösterir |
php hello.php | betiği terminalde (CLI modunda) çalıştırır |
php -l hello.php | kodu çalıştırmadan söz dizimini denetler |
php -S localhost:8000 | geçerli klasörde yerleşik web sunucusunu başlatır |
php -a | kodu satır satır denemek için etkileşimli modu açar |
İlk betiğin
hello.php adında bir dosya oluştur, aşağıdaki kodu yaz ve terminalde php hello.php komutunu çalıştır. PHP kodu her zaman <?php açılış etiketiyle başlar, her komut da noktalı virgülle ; biter.
<?php
echo "Hello, Educora!\n";
print "PHP runs on the server.\n";
echo "Two plus three is ", 2 + 3, "\n";Hello, Educora! PHP runs on the server. Two plus three is 5
echoekrana metin yazar ve virgülle ayrılmış birkaç değer alabilir.printyalnızca tek bir değer alır ve her zaman1döndürür; pratikte çok daha sıkechoyazılır."\n"yeni satır karakteridir.echokendiliğinden yeni satıra geçmez; onu senin eklemen gerekir.- Yalnızca PHP kodu içeren bir dosyada kapanış etiketi
?>yazılmaz; böylesi daha güvenlidir, çünkü dosyanın sonuna yanlışlıkla boşluk karışmaz.
HTML içinde PHP
PHP en başından HTML'in içine gömülmek için tasarlandı. <?php ... ?> etiketlerinin dışındaki her şey olduğu gibi gönderilir, etiketlerin içindeki kod ise çalıştırılır. Kısa <?= ... ?> etiketi bir ifadenin değerini doğrudan sayfaya yazar.
<?php $city = "Baku"; $temp = 24; ?>
<!DOCTYPE html>
<html>
<body>
<h1>Weather in <?= $city ?></h1>
<p>Temperature: <?= $temp ?> °C</p>
<p>Built by PHP on the server</p>
</body>
</html><!DOCTYPE html>
<html>
<body>
<h1>Weather in Baku</h1>
<p>Temperature: 24 °C</p>
<p>Built by PHP on the server</p>
</body>
</html>Bu sayfayı tarayıcıda görmek için dosyanın bulunduğu klasörde php -S localhost:8000 komutunu çalıştır ve http://localhost:8000/weather.php adresini aç. Tarayıcı yukarıdaki HTML'i alır; $city ve $temp değişkenlerinin yerini çoktan değerleri almıştır.
Yorumlar ve söz dizimi kuralları
PHP'de üç tür yorum vardır: // ve # satırın geri kalanını yoruma çevirir, /* ... */ ise birkaç satırı kapsar. Değişken adları her zaman $ ile başlar ve büyük-küçük harfe duyarlıdır: $name ile $Name farklı değişkenlerdir. Anahtar sözcükler ve fonksiyon adları ise büyük-küçük harfe duyarlı değildir.
<?php
// a one-line comment
# also a one-line comment
/* a comment
on several lines */
$name = "Leyla";
$Name = "Murad";
echo $name, " and ", $Name, "\n";
ECHO "Keywords are case-insensitive\n";Leyla and Murad Keywords are case-insensitive
Önemli noktalar
- PHP sunucu tarafında çalışan bir betik dilidir: kodu sunucuda çalışır, tarayıcıya yalnızca sonuç (HTML) gönderilir.
- WordPress, Laravel, Symfony ve Vikipedi PHP üzerine kuruludur; modern sürümler PHP 8.x serisidir.
php file.phpbetiği terminalde çalıştırır,php -S localhost:8000ise yerleşik web sunucusunu başlatır.- Kod
<?phpile başlar, her komut;ile biter;echoveprintçıktı verir,<?=ise HTML'e bir değer yazar. - Değişken adları
$ile başlar ve büyük-küçük harfe duyarlıdır; anahtar sözcükler değildir.
Kendini test et
10 soru. Her doğru cevap XP kazandırır.