Dinamik web uygulamaları geliştirirken kullanıcı girdilerini saklamak, hesaplamalar yapmak ve veritabanı işlemlerini yönetmek için verileri bellekte tutacak mekanizmalara ihtiyaç duyulur. PHP programlama dilinde bu gereksinimi karşılayan en temel yapı taşları değişkenlerdir. Bu rehberde, PHP değişkenler konusunu, değişken tanımlama kurallarını ve PHP’nin desteklediği temel veri türlerini ayrıntılı olarak inceleyeceğiz.
PHP Değişken Tanımlama Kuralları ve Sözdizimi
PHP dilinde bir değişken tanımlanırken her zaman dolar işareti ($) kullanılır. Dolar işaretinin hemen ardından gelen ifade, değişkenin adını belirler. PHP yorumlayıcısı, bir satırda $ işaretini gördüğünde bunu bir bellek alanı başvurusu olarak işler.
PHP değişkenler tanımlanırken belirli sözdizimi kurallarına uyulması zorunludur:
- Değişken adları mutlaka dolar ($) işareti ile başlamalıdır.
- Dolar işaretinden sonraki ilk karakter bir harf (a-z, A-Z) veya alt çizgi (_) olmak zorundadır. Rakamla başlayamaz.
- Değişken adı boşluk içeremez; harf, rakam ve alt çizgi kombinasyonlarından oluşabilir.
- PHP değişken isimleri büyük-küçük harfe duyarlıdır (case-sensitive). Örneğin $kullanici ve $Kullanici iki farklı bellek alanını temsil eder.
- Türkçe karakterler (ç, ğ, ı, ö, ş, ü) teknik olarak desteklense de kodun taşınabilirliği ve genel yazılım standartları açısından yalnızca İngiliz alfabesindeki karakterler tercih edilmelidir.
<?php
$ad = "Ahmet";
$_yas = 25;
$kullaniciAdi = "admin";
$sayi1 = 100;
?>
Yukarıdaki kod bloğunda geçerli değişken tanımlamaları yer almaktadır. Eşittir (=) sembolü atama operatörüdür; sağdaki değeri alır ve soldaki değişkene aktarır.
PHP’de Değişkenlerin Çalışma Mantığı ve Gevşek Tip Özelliği
PHP, “loosely typed” yani gevşek tipli (dinamik) bir dildir. C veya Java gibi dillerin aksine, bir değişken tanımlarken onun hangi türde veri tutacağını (metin, tam sayı, ondalıklı sayı vb.) önceden belirtmeniz gerekmez. PHP, değişkene atanan değere bakarak türü çalışma zamanında otomatik olarak belirler.
Bir değişkene önce metin türünde bir veri atayıp ardından aynı değişkene tam sayı atamak PHP’de tamamen geçerlidir:
<?php
$deger = "Merhaba Dunya";
$deger = 42;
?>
İlk satırda $deger değişkeni bir metin dizgisi iken, ikinci satırdaki atama sonrasında bu değişken otomatik olarak bir tam sayıya dönüşür.
Skaler Veri Türleri
Skaler türler, tek bir değeri tutabilen en temel veri türleridir. PHP’de dört ana skaler veri türü bulunur.
String (Karakter Dizisi)
Metinsel ifadeleri saklamak için kullanılır. Tek tırnak (‘ ‘) veya çift tırnak (” “) arasında tanımlanır. Çift tırnak içerisinde yazılan değişkenler doğrudan çözümlenirken (interpolation), tek tırnak içindeki değişkenler düz metin olarak kabul edilir.
<?php
$ad = "Yunus";
$mesaj1 = "Hos geldin $ad";
$mesaj2 = 'Hos geldin $ad';
echo $mesaj1;
echo $mesaj2;
?>
Bu örnekte $mesaj1 ekrana “Hos geldin Yunus” çıktısını verirken, $mesaj2 ekrana “Hos geldin $ad” çıktısını yazdıracaktır.
Integer (Tam Sayı)
Ondalık kısmı bulunmayan pozitif veya negatif tam sayılardır. Bellekte platforma bağlı olarak genellikle 32 bit veya 64 bit boyutunda yer kaplarlar.
<?php
$pozitifSayi = 1500;
$negatifSayi = -45;
$sifir = 0;
?>
Float / Double (Ondalıklı Sayı)
Kesirli veya ondalıklı sayıları saklar. Ondalık basamakları ayırmak için virgül değil, nokta (.) karakteri kullanılır.
<?php
$fiyat = 89.99;
$oran = -0.15;
?>
Boolean (Mantıksal Değer)
Yalnızca iki olası değere sahip olan en basit veri türüdür: true (doğru) veya false (yanlış). Koşullu ifadelerde ve akış kontrol mekanizmalarında kritik rol oynar.
<?php
$girisYapildi = true;
$yoneticiMi = false;
?>
Bileşik Veri Türleri
Bileşik türler, birden fazla değeri ve yapıyı tek bir değişken altında organize etmeyi sağlar.
Array (Dizi)
Birden çok veriyi tek bir değişken üzerinde depolamak için kullanılır. İndeksli diziler sayısal sıra kullanırken, ilişkisel diziler (associative arrays) anahtar-değer (key-value) çiftlerini temel alır.
<?php
$renkler = ["Kirmizi", "Mavi", "Yesil"];
$kullanici = [
"ad" => "Yunus",
"rol" => "Yazar"
];
echo $renkler[0];
echo $kullanici["ad"];
?>
Bu kod bloğunda $renkler dizisinin ilk elemanı olan “Kirmizi” ve $kullanici ilişkisel dizisinin “ad” anahtarına karşılık gelen “Yunus” değeri ekrana yazdırılır.
Object (Nesne)
Nesne yönelimli programlama (OOP) kapsamında bir sınıfın (class) somut örneğidir. Hem verileri (özellikler) hem de fonksiyonları (metotlar) bünyesinde barındırır.
<?php
class Sunucu {
public $ip = "192.168.1.1";
}
$sunucuNesnesi = new Sunucu();
echo $sunucuNesnesi->ip;
?>
Özel Veri Türleri
PHP’de belirli durumları ve dış bağlantıları temsil eden iki özel veri türü mevcuttur.
- NULL: Bir değişkenin hiçbir değere sahip olmadığını belirtir. Değeri atanmamış ya da unset() fonksiyonu ile bellekten temizlenmiş değişkenler NULL kabul edilir.
- Resource (Kaynak): Veritabanı bağlantısı veya dosya tanıtıcısı gibi harici sistem kaynaklarına yapılan referansları tutar.
<?php
$bosDegisken = null;
$dosya = fopen("deneme.txt", "w");
?>
Burada $bosDegisken açıkça tanımsız kılınmış, $dosya ise dosya sistemine bağlı bir kaynak türü elde etmiştir.
Veri Türlerini İnceleme ve Tür Dönüşümleri
Geliştirme sürecinde bir değişkenin anlık türünü ve içeriğini görmek için var_dump() veya gettype() fonksiyonları kullanılır.
<?php
$port = "8080";
var_dump($port);
$sayisalPort = (int)$port;
var_dump($sayisalPort);
?>
var_dump($port) komutu değişkenin string türünde ve 4 karakter uzunluğunda olduğunu bildirir. (int) sözdizimi ile yapılan dönüşüm (type casting) sonrasında değişken integer türüne evrilir.
PHP’de değişkenlerin türünü doğrulamak için şu kontrol fonksiyonlarından yararlanılır:
- is_string($degisken): Metin olup olmadığını kontrol eder.
- is_int($degisken): Tam sayı olup olmadığını kontrol eder.
- is_bool($degisken): Mantıksal değer olup olmadığını kontrol eder.
- is_array($degisken): Dizi olup olmadığını kontrol eder.
Özet ve Sonraki Adımlar
PHP’de değişkenler, dinamik tip yapısı ve pratik sözdizimi sayesinde esnek bir geliştirme deneyimi sunar. Dolar işaretiyle başlayan bu yapılar; skaler, bileşik ve özel veri türleri ile projelerinizdeki tüm veri akışını yönetmenize imkan tanır. Güvenli ve hatasız kodlar yazmak için değişken türlerini doğru tespit etmek ve gerektiğinde tip dönüşümlerini bilinçli uygulamak büyük önem taşır.
Bir sonraki adımda, değişkenler üzerinde matematiksel ve mantıksal işlemler yapmanızı sağlayan PHP operatörlerini ve program akışını kontrol eden if-else bloklarını inceleyebilirsiniz.


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