Neden PHP?
[Link]ç.Dr. İlker Ali ÖZKAN
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 2
I. PHP Nedir?
• Genel kullanım amaçlı bir betik/programlama dilidir.
• Web tabanlı yazılım geliştirme yanı güçlüdür ve genellikle
bu amaçla kullanılır.
Betik Dili?
• İngilizce: Scripting Language
• Yazılan kod bir yorumlayıcı aracılığı ile çalıştırılır.
• Perl, PHP, Tcl, Python, JavaScript
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 3
II. PHP’nin Tarihi
• Rasmus Lerdorf tarafından yazıldı.
• Kendi web sitesine bağlı olan kişilerin takibini yapmak
amaçlı kullandı.
• İlk sürümü 1995 yılında yayınlandı (PHP/FI).
• İlk sürümünde sadece form yorumlayabilme, veritabanı
işlemleri ve metin düzenleme gibi özellikler içeriyordu.
• PHP is used by 78.9% of all websites with a known server-side
programming language. 2018
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 4
II. PHP’nin Tarihi
Netcraft Şubat 2015 istatistikleri:
PHP Kullanan Alan Adı Sayısı : 244 Milyon
PHP Kullanan IP Adresi Sayısı : 2.1 Milyon
PHP’nin Çalışma Prensibi
PHP betiği aranıyor
mod_php
APACHE Disk
WEB
SUNUCU İstenilen PHP betiği yükleniyor
İstem
Yorumlanmış PHP betiği
PHP: HTML kodu içerisine gömülebilir,
Web Sunucu tarafından yorumlanır,
JavaScript, C, Perl dillerinden ilham alınarak
yapılmıştır ve Taşınabilir.
•PHP, Web tabanlı yazılımları geliştirmek için
tasarlanmıştır.
•Çalışma mantığı diğer web tabanlı
programlama dilleri gibidir (sunucu taraflı).
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 7
III. PHP’nin Özellikleri
• Kaynak kodu açık ve ücretsizdir.
• Sunucu taraflı çalışır.
• HTML içine gömülebilir.
• Öğrenimi ve yazım kuralları basittir.
• Geniş işletim sistemi desteği vardır.
(Linux, Unix, MS Windows, Mac OS X, RISC OS)
• Geniş web sunucu yazılımı desteği vardır.
(Apache, MS IIS, MS PWS, AOL, Netscape, iPlanet)
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 8
III. PHP’nin Özellikleri
• Geniş veritabanı sunucusu/yazılımı desteği vardır.
(MySQL, PostgreSQL, Oracle, MS-SQL, IBM DB2)
• Yaygın kullanımı
• İçinde birçok yardımcı fonksiyon içermesi
• Eklenti ve hazır kütüphanelerinin olması
• Sunucuyu yormaması
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 9
III. PHP’nin Özellikleri
a. Sunucu Taraflı
• Yazılan kod sunucu tarafında yorumlanır.
• Çıtkı (HTML) web sunucusuna yönlendirilir.
• Web sunucusu çıktıyı tarayıcıya yönlendirir.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 10
III. PHP’nin Özellikleri
b. HTML içine gömülebilir
• PHP kodları HTML içerisine özel ayraçlar ile yazılabilir.
<html>
<head> Tarayıcı Çıktısı:
<title>Örnek</title>
</head> Örnek PHP betiği...
<body>
Örnek
<?php
echo “<b>PHP</b> betiği...”;
?>
</body>
</html>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 11
IV. PHP ile Neler Yapılabilir?
• Veritabanı uygulamaları
• Dinamik olarak grafik, Flash, PDF çıktıları
(JPEG, GIF, PNG, WBMP)
• Tarayıcıya veya tarihe göre özel işlemler veya içerikler
• Anket, tartışma forumları, arama motorları, içerik yönetimi
• Elektronik ticaret uygulamaları
• WAP uygulamaları
• Komut satırı uygulamaları, MS Windows uygulamaları
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 12
PHP’ nin Temelleri
PHP dosyaları temelde Web sunucusunda yer alan metin
dosyalarıdır. Web sunucusuna bağlı olarak .php3, .phtml ya da .php
uzantısıyla tanımlanırlar. Bu metin dosyasında HTML ve PHP komutları
yer alır. PHP derleyicisi metin dosyası olan .php3 dosyasındaki
komutları çalıştırarak HTML ye dönüştürür. Ortaya çıkan HTML kodu
da, isteği gönderin kullanıcıya Web sunucusu aracılığıyla iletilerek işlem
tamamlanmış olur.
PHP derleyicisi <? bloğuna rastlayıncaya kadar tüm HTML
kodunu Web sunucusuna aynen gönderir. <? den sonra ?> ya kadar
olan bölümü işletir ve çıkan sonuçları Web sunucusuna iletir. PHP’ nin
esnekliği hem HTML hem de PHP komutları aynı dosyada
kullanabilmesinden gelir.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 13
PHP Yazım Kuralları
• PHP temel olarak C dilinin söz dizimi üzerine inşa edilmiştir.
• Tüm PHP komutları ; işareti ile sonlandırılmalıdır.
• PHP yaygın olarak ekrana bilgi basmak için echo komutu kullanılır.
Aynı zamanda print ve printf komutları da kullanılabilir.
Genel kullanım şekli;
<?php
echo(“PHP dünyası merhaba”);
?>
Aşağıdaki diğer kullanım şekilleri de geçerlidir;
<?php <?php
echo“PHP dünyası merhaba”; Ya da echo ‘PHP dünyası merhaba’;
?> ?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 14
PHP dosyalarına tek satırlık açıklayıcı bilgi eklemek için // , birden çok
satıra açıklama yazmak için /* ve */ işaretleri kullanılır.
Kullanımları;
<?
// Bu satır açıklama satırıdır, yorumlayıcı tarafından yorumlanmaz…
echo(“PHP dünyası merhaba”);
?>
<?
/*
Bu satırlar açıklama satırlarıdır,
yorumlayıcı tarafından yorumlanmazlar…
*/
echo(“PHP dünyası merhaba”);
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 15
Ekrana basılacak bilgi metninin içinde tek ya da çift tırnak işaretinin
bulunması durumunda, tırnak işaretinden önce \ işaretini kullanılmalıdır.
Aksi durumda echo komutunun metin ayracı olan çift ya da tek tırnakla,
basılacak bilgideki tırnaklar karışabilir.
<?
echo (“\”PHP\” dünyası merhaba”); // çıktısı “PHP” dünyası merhaba
?>
Ekrana basılacak olan metin ya da HTML kodlarında C’ de olduğu gibi \n
belirteci yeni satıra geçmek için, \t belirteci sekme(tab) boşluğu vermek
için kullanılır.
<?
echo(“Bu bir deneme mesajıdır<br>\n”);
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 16
PHP komutları, ağırlıklı olarak HTML komutları Web sunucusu aracılığıyla
Web tarayıcısına göndermek için kullandıklarından, echo komutunun içine
HTML komutu yazmak da mümkündür. Aslında HTML’ de yeni bir satıra
geçme etiketi olan <br> kullanılarak tarayıcıya Bu bir deneme
mesajıdır<br> satırı gönderilir. Gönderilecek bilgi içinde yer alan \n,
tarayıcı tarafından yeni bir satır olarak yorumlanır. HTML’ de yeni satır
açmakla, metin dosyasında yeni satır açmak arasında fark vardır. Yukarıdaki
echo’ dan \n parçasını çıkartarak tekrar deneme yapıldığında, tarayıcıda
aynı görünüm elde edilir; ancak tarayıcıdaki dosyanın kaynak koduna
bakıldığında aradaki fark anlaşılacaktır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 17
Karakterler
PHP dilinde bazı karakterlerin özel anlamları vardır.(Örneğin $ işareti gibi)
Bu işaretleri PHP farklı olarak algıladığından dolayı, biz bunları metin
olarak kullanmak istediğimiz zaman önlerine "\" karakteri koyarız.
Böylelikle PHP yorumlayıcısı bunları düz metin olarak değerlendirmiş olur.
Bu karakterler ve işlevleri aşağıdaki gibidir.
\' Tek tırnak
\" Çift tırnak
\\ Ters bölü
\$ Dolar işareti
\n Yeni Satır (New Line)
\r Satır Başı (Return)
\t Sekme (Tab) karakteri
<?
echo(“1/$ = 1,35 Ytl”);
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 18
Değişken Türleri
Metin ve Sayı Değişkenleri
Değişken tanımlarken değişkenin saklayacağı bilginin metin ya da sayı
olmasının çok fazla önemi yoktur. Metin olarak tanımlanan ama sayı içeren
bir değişkende, daha sonra matematiksel işlem yapabilmek mümkündür.
Tüm diğer dillerde olduğu gibi PHP’ de de sayı, uzun sayı, metin, dizi ve
nesne tipi değişken tanımları yapılabilir. Bu değişkenlerin tiplerinin önceden
tanımlanarak PHP’ ye bildirilmesi gerekmez. PHP’ de kullanılacak
değişkenlerin;
• Harfle veya _ ile başlaması ve içinde sayı ve harfin dışında karakter
içermemesi,
$sayi1; (Doğru) $_isim2; (Doğru) $sayi1!; (Yanlış) $1sayi; (Yanlış)
• Her değişkenin mutlaka $ işaretiyle başlaması,
$isim; (Doğru) isim; (Yanlış)
• Değişkenlerin sayı içermesi durumunda, değişkene doğrudan sayı değeri
atanırken, metin(string) atanacağı durumda çift ya da tek
tırnakla bilgilerin ayrılması gerekir.
$ad1 = “Süleyman”; $ad2 =’Abdullah’; $yas = 22;
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 19
Değişkenlerin birbirleriyle etkileşimleri de değişkenin türüne göre değişir.
Bir metin değişkeniyle başka bir metin değişkenini birleştirilmesi için “ . ”
(nokta) işareti kullanılır. Sayısal içerik içeren değişkenler için işlemler,
tamamen matematiksel işaretlerle yapılır. Değişkenlere önceden değer
atanmak istendiğinde = işareti kullanılır.
$degisken1 = ”Teknoloji Fakültesi”;
$degişken2 = “2015”;
$degisken3 = 1200;
$degisken4 = “Fakültesi”;
Yukarıdaki listede degisken1, degisken2 ve degisken4 metin değeri
içeren değişkenlerdir. Burada degisken2 nin sayısal değişken
barındırmasına rağmen “ “ içinde yazıldığı için esasında metin değişkeni
olduğuna dikkat ediniz. Sayısal değer içeren değişkenimiz sadece
degisken3’ tür.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 20
Metin değişkenleri, istenirse birbirleriyle birleştirilebilir. Bu birleştirme
metinlerin ardı ardına sıralanmasıyla oluşur.
$degisken5 = $degisken1.$degisken4.$degisken1;
“.” oparatörüyle yaptığımız bu birleştirme işlemi sonunda yeni oluşturulan
$degisken5 Teknik EğitimFakültesi2001 metin değerini içeriyor.
Değişkenler kıyaslanmak istendiğinde eğer bir değişkenin değerinin, diğer bir
değişkenin değerine eşitliğinin kontrol edilmesi gerekiyorsa = = , farklı
olduğunun kontrol edilmesi gerekiyorsa != kullanılır. Ünlem işareti her zaman
doğru(true) değeri yanlış(false) , yanlış(false) değeri doğru(true) ya çevirir.
Eğer değişkenler birbirine eşitse 1 yani doğru, değilse 0 yani yanlış değerini
döndürürler.
echo $degisken1<> $degisken2 // eşit olmadıkları için doğru yani 1
echo $degisken1==$degisken2 // eşit olmadıkları için yanlış yani 0
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 21
Değişkenler tarayıcıya göndermek için echo komutu birkaç farklı
yöntemde kullanılabilir.
echo $degisken1.$degisken2;
echo $degisken1.” “.$degisken2;
echo “Fakülte: ”.$degisken1.” Kuruluş Yılı: ”.$degisken2;
Çift tırnakla yazımı değişkenden ayırmak bazen akıl karıştırıcı olabileceği için
genelde aşağıdaki gibidir ve bu işlemin çıktısı da Fakülte: Teknik Eğitim Kuruluş
Yılı: 2001 dir.
echo (“Fakülte: $degisken1 Kuruluş Yılı: $degisken2”);
<?php
$degisken1="Teknoloji ";
$degisken2 = "2015";
$degisken3 = 1200;
$degisken4="Fakültesi";
$degisken5=$degisken1. " ". $degisken4. " ".$degisken2;
echo $degisken5;
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 22
Dizi Değişkenleri
Diğer yazılım dillerinde olduğu gibi PHP’ de de dizi değişkeni olan
array’ lar önemlidir. Dizi, bir değerler grubunu depolamak için kullanılan
adlandırılmış bir yerdir. Örneğin kişilerin yaşlarını içeren bir dizi
değişkeni;
$yaslar[“suleyman”]=22;
$yaslar[“abdullah”]= 21;
Şeklinde tanımlanabilir. Dizi değişkenleri tekil ve çoklu dizi
olarak tanımlanabilirler. Bir dizi değişkenine sonradan yeni bir değer
eklenerek, dizideki değişkenlerin sayısı arttırabilir. Dizi değişkenleri
üzerinde kullanılabilecek birçok fonksiyon vardır ve ilerleyen konularda
ayrıntılı olarak değinilecektir.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 23
Veri Türleri
PHP, değişkenlere, tuttukları değere göre farklı bellek alanı tahsis eder. Bu
bakımdan verilerimizin türü etkin bir programcılık açısından önem taşır.
Ayrıca PHP, diğer bütün programlama dilleri gibi belirli veri türleri ile belirli
işlemleri yapar veya yapamaz. Örneğin, ancak iki sayı arasında aritmetik
toplama yapılabilir. İki metin tutan değişken aritmetik olarak toplanamaz;
ancak içerdikleri değerler ard arda eklenebilir. Ne var ki, PHP sizin aritmetik
toplama mı, yoksa ardarda ekleme mi yapmak istediğinizi bilmek durumunda
değildir. (PHP'ye 'muazzam dil' dedik; içinde yapay zekâ var demedik!)
Dolayısıyla değerleri 5 ile 6 olan iki değişkeni topladığınız zaman ortaya 11
yerine 56 çıkarsa, kabahati PHP'de değil, değişkenlere veri atayan kişide
(büyük bir ihtimalle kendinizde) aramalısınız. PHP açısından dünyada altı tür
değer vardır:
1. Tamsayı (Integer): 5,124, 9834 gibi
2. Çift (Double): 3,567 gibi
3. Alfanümerik (String): "Reşit" gibi
4. Mantıksal (Boolean): doğru (true)/yanlış (false)
gibi
5. Nesne (Object)
6. Dizi (Array)
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 24
String Veri Tipi
String veri tipi içerisinde textler tutulur. Bu bazen bütün bir cümle
veya yanlızca bir kelime olabilir. Çift Tırnak içine alınan bütün
karakterler ve hatta numerik sayılar bile düz text muamelesi görür.
$ArabaTipi
="Tofas";
$MotorHacmi =
"1.6";
Yukarıdaki iki değişkendeki veri tipi aynidir. Ikiside string veri tipidir
ve düz texttir. Yani tırnak içerisindeki ifade numerik diye veri tipimiz
numerik olmayacaktır. Çift tırnak işareti içine alınan tüm veriler "string"
yani düz text olarak değerlendirilir.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 25
Numerik Veri Tipleri
PHP içerisinde kullanılan iki değişik numerik veri tipi vardı[Link] ilki
"integer" ikincisi "double" dır.Örnek vererek açıklayalım.
$integer_numerik_veri_tipi=26;
$bir_baska_integer_numerik_veri_tipi = -3598;
$double_numerik_veri_tipi=4.567;
$bir_baska_double = -16.1;
Bu iki veri tipinde görüldüğü üzere birinde tamsayılar(integer) diğerinde
ondalık sayılarla beraber tam kısım değerleri tutturulmaktadır(double).Bu iki
veri tipinin farklılıkları yalnızca bu değildir. Tutabilecekleri değer aralığında
double ve integer da farklıdır. Üzerinde çalışılan işletim sistemine göre
tutabilecekleri şayi aralığı değişir. Mesela Windows ortamı için bu aralık integer
için -32768 den 32767 ye kadardır. Double için windows ortamında aralık
1.79769313486232E308 den -4.94065645841247E-324 (Negatif Değerler
için)
+4.94065645841247E-324 den 1.79769313486232E308 (Pozitif Değerler
için)
*E notasyonu 10 un katlarını göstermek için kullanılmıştır.(2.5E3 = 2500
gibi)
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 26
Matematiksel İşlemler
+ Toplama işlemi için
- Çıkarma işlemi için
* Çarpma işlemi için
/ Bölme işlemi için
% Mod işlemi için kullanılır.( 16 % 3 = 1
gibi)
<?php
$Anakart=125;
$Modem=65;
$Hafiza=110;
$Toplam=SAnakart+$Modem+$Hafiza;
echo "Toplammasrafimiz". " ". $Toplam. " "."dolar . . . ";
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 27
Değişken’in Değerini Kendine Eklemek
$IslemSayisi=5;
$IslemSayisi=IslemSayisi+1;
echo $islemSayisi;
Gibi bir kod parçası yazdığımda ekranda göreceğim değer "6" olacaktır.
Değişkenimiz içerisinde tutulan değerimiz ilk basta "5" şayisiydi. Ben
değişkenin kendisine "1" ekledim. Ve sonuç "6" oldu.
$IslemSayisi=5;
$IslemSayisi++;
echo $IslemSayisi;
Çıktınız yine ayni "6" olacaktır.($IslemSayisi = $IslemSayisi + 1; ile ayni yazım
seklidir.)
$IslemSayisi=5;
$IslemSayisi + = 2;
Çıktınız bu sefer "7" olacaktır.($IslemSayisi = $IslemSayisi + 2; ile ayni yazım
seklidir.)
$IslemSayisi=5;
$IslemSayisi + = $IslemSayisi;
Çıktınız yine "6" olacaktır.($IslemSayisi = $IslemSayisi + 1; ile ayni yazım
seklidir.)
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 28
Matematiksel İşlemlerde Öncelik Sırası
Gerçek matematik hesaplamalarında olduğu gibi işlemlerin birbirine göre
öncelikleri vardır.
$şayi = 3+5*6;
İşleminin sonucu söyle hesaplanacaktır. İlk önce çarpma sonra bölme
sonra toplama sonrada çıkarma işlemleri yapılacaktır. Örneğimizde ilk önce
"5" ile "6" çarpılacak daha sonra çıkan sayi "3" ile toplanacaktır. Çıktımız
"33" olacaktır. Eğer parantez içine alınmış bir işlem varsa ilk önce parantez
içindeki işlemler yapılır. Örnek verecek olursak:
$şayi = (3+5)*6;
Çıktımız "48" olacaktır.
<?php
$Fiyat=1000;
$KDV=10;
$Indirim=20;
$KDV_Eklenince_Fiyat - $Fiyat+(($Fiyat/100)*$KDV) ;
$Indirim_Olunca_Fiyat = $Fiyat - (($Fiyat/100)*$Indirim);
echo "KDV Dahil Fiyatı $KDV_Eklenince_Fiyat <BR>";
echo "Indirim Olunca Fiyatı $Indirim_Olunca_Fiyat";
?>
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 29
Sabitler
PHP içerisinde, aldığı değer tüm işlemler boyunca veya programın akısı
içerisinde, ilk verdiğimiz değerden başka değer alamayacak sabit
tanımlamak için "Define" terimini kullanıyoruz.
<?
define(“TURKIYENINKURUCUSU”, “Mustafa Kemal Ataturk”);
define(“SUYUNKAYNAMANOKTASI”, 100);
define(“ULKEMINADI”, “Turkiye”);
echo“Turkiyenin ilk Cumhurbaskani ”.TURKIYENINKURUCUSU.”</br>”;
echo”Cennet Vatanım”.” “.ULKEMINADI.”</br>;
echo”Su”.” “.SUYUNKAYNAMANOKTASI.” “.”derecede kaynar”;
?>
Görüldüğü üzere bu değerler asla değişmeyecek fiziksel veya
tarihsel değerdir. Bu nedenle bu tip öğeler için programın basında
bu tip sabit değişken tanımlamaları yapmak isimizi
kolaylaştıracaktır
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 30
Dönüşümler
PHP programlarının yazılması sırasında karşınıza şöyle bir problem
çıkabilir. Eğer değişkenin veri tipini değiştirmek isterseniz bunu nasıl
yapacaksınız. Şimdi konumuza bir örnek verelim.
<?
$Araba=“1.6 Tofaş”;
$KDV=17;
$Odenecek_Vergi=$Araba*$KDV;
echo $Odenecek_Vergi;
?>
Ekran çıktısı: 17 . PHP ye bir sayi vererek onu text ile çarpmasını
söyledik. PHP de text içerisindeki ilk sayi değerini alarak
gerisindeki text’ i önemsemeden ilk sayi ile (17) text içerisinde
yer alan sayıyı (1.6) çarptı. Sonucu da $Odenecek_Vergi
değişkeni içerisinde sakladı. Bu olay PHP nin ilginç bir özelliğidir.
PHP gerektiğinde bu tip mantıksal karaları verebilecek kadar
zekice tasarlanmıştır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 31
Değişken Tip Dönüşümü
PHP içerisinde bir değişkenin veri tipini kesin olarak belirlemek istersek
aşağıdaki örnekte olduğu gibi değişkenin değerini kendisine özel bir
tanımlama ile eşitlememiz gerekmektedir.
$DegiskenAdi = 3;
$DegiskenAdi = (string)
$DegiskenAdi;
Yukarıdaki örnekte ilk önce $DegiskenAdi değişkeni içerisinde bir sayı
değerini atadık. Bu değişkenin veri tipi sayıdır (Numerik). İkinci satırda
değişkenimizi düz yazı veri tipine çevirdik (String). Bu olay programlarımız
içerisinde bir sayı değeri olarak kullandığımız değişkenin yeri geldiğinde
text veri tipi olarak kullanılmasını sağlayacaktır. Eğer tekrar bu değişkeni
Numerik veri tipine dönüştürmek istersek yapmamız gereken aynı şekilde
olayı$DegiskenAdi=3;
tersine çevirmektedir.
$DegiskenAdi=(string)
$DegiskenAdi;
$DegiskenAdi = (integer)
$DegiskenAdi;
İlk satırda değişkenimize 3 değerini atadık. Bu numerik bir veri
tipidir İkinci satırda bu numerik tipteki veriyi integer veya double,
düz text tipinde (string) bir veri tipine dönüştürdük. Üçüncü satırda
tekrar verimizi string halden çıkarıp numerik bir hale soktuk
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 32
gettype () ve settype () Kavramları
gettype() komutu değişkenimizin veri tipini öğrenmek ve settype()
değişkenimize istediğimiz veri tipini atamak için kullanılır.
$DegiskenAdi=3;
echo gettype ($DegiskenAdi);
Bu iki satirlik kod parçasının çıktısı integer olacaktır.
Burada gettype komutunu kullanarak PHP'ye değişkenimizin ne tür bir
veri tipine sahip olduğunu sorduk. PHP bize bu değişken içinde saklanan
verinin "integer" yani numerik bir veri olduğu cevabını verdi.
$DegiskenAdi=3;
settype ($DegiskenAdi , "string");
Ayni yukarıda veri tipinin dönüşümü konusunda anlattiğimiz gibi bir
numerik veri tipini "settype" kullanarak string yani düz text veri tipine
dönüştürdük. Artık "gettype" komutu ile değişkenin veri tipini
öğrenmek istersek şimdi artık bana cevabi "string" seklinde
olacaktır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 33
sset(), unset() ve empty()
Komutlarının Kullanılması
isset () komutun içinde verdiğimiz yazı grubunun bir değişken olarak
program içinde tanımlanıp tanımlanmadığının cevabını verir. Mesela
program içerisinde $sayi diye bir değişken tanımlayıp tanımlamadığımız
bulmak istiyoruz. Bunun için aşağıdaki gibi bir kod yazmamız yeterli
olacaktır.
echo isset ($sayi);
Bu kodun çıktısı, eğer böyle bir değişkenimiz var ve bir değer bu
değişken içinde saklanıyorsa "1" değerini dondurur. Eğer böyle bir
değişken hiç tanımlanmadı ise hiç bir değer döndürmez bu mesela bir
çerezin yazılıp yazılmadığını kontrol ederken işimize yarayabilir.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 34
unset () 'in kullanımına bakacak olursak, bu komutla bir değişken içindeki
verinin tamamen yok edilmesini sağlıyoruz.
unset ($sayi);
Şeklinde kullanılır. Değişkenin bir hafıza parçasında sakladığı veri bu
komutla imha edilir. Hafıza parçası tamamen temizlenir. Kullanırken dikkat
edilmesinde fayda vardır.
empty (), isset () komutunun mantıksal olarak tam tersidir. Kullanım olarak
aynı isset () ta olduğu gibidir. Komutun içinde verdiğimiz değişken adi eğer
hiç tanımlı değilse, sıfıra eşit ise veya boşluk (" ") değerine eşit ise "1"
değeri döndürülür. Eğer değişken tanımlı ve bu değerlerden birine eşit
değilse hiç bir değer dönmez.
empty($sayi);
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 35
Genel tanımlı Değişkenler
(Environment Variables)
Bunlar PHP değişkenleri olarakta tanımlanmaktadır. Programınızdan
bağımsız olarak PHP tarafından o anda yaratılmış değişkenlerdir. PHP
programlarınız içinde bu değişkenleri kolayca kullanabilirsiniz. Bu
değişkenler genelde HTTP ile bilgileri içlerinde barındırırlar. Programınızın
içinden bu değişkenleri çağırabilir ve içlerindeki veriyi ayni kendi
değişkenlerinizde kullandığınız gibi kullanabilirsiniz. Bir örnek vermek
gerekirse;
echo $HTTP_COOKIE_DATA;
Böyle bir kodun çıktısı size kullanılmakta olan bir cookie yani çerez
bilgisi olup olmadığını gösterecektir. Bir başka kullanışlı PHP değişkeni;
echo HTTP_USER_AGENT;
Bu değişkeni kullanarak kullanıcınızın kullandığı browser tipini
öğrenebilirsiniz. PHP değişkenlerini kendiniz
değiştiremezsiniz. Yanlızca işinize yaraması için
kullanabilirsiniz.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 36
Veri Toplamak ve Web Sunucusundan
İstekte Bulunmak
Web programlarında ilk adım genellikle kullanıcından birtakım bilgiler
toplamaktır. Bu işlem HTML formları aracılığıyla sağlanır. Kullanıcı bilgilerini
girer ve "Submit" tuşuna basar. Tarayıcı verilen bilgileri düzenler ve web
sunucusuna gönderir. Web sunucusunun gönderilen bilgileri anlaması için,
tarayıcının bilgileri Web sunucusunun anlayabileceği hale getirmesi ve
"HTTP Request" yani istekte bulunması gerekir.
Her "request" hangi metodla çalışacağını belirlemek zorundadır. Bunu
<FORM METHOD="POST"> örneğindeki gibi yapabilirsiniz. En çok
kullanılan üç metod HEAD, GET ve POST' tur.
• HEAD dokümanın kendisini değil dokümanla ilgili bilgi almak için
kullanılır.
• GET ve POST web programlarını çalıştırmak için kullanacağınız
metodlardır. Her ikisi de aynı görevi görür fakat çalışma biçimleri farklıdır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 37
GET Metodu
GET ile bir “request” yapıldığında, bütün form verileri tek bir “string” haline
getirilir ve key=value (degişken-ismi=degişken-değeri) biçimine sokulur:
Bu satır “pop” klasörü içindeki “[Link]” scriptini çalıştırır ve bu
scripte “username” değişkenini ve bu değişkenin değeri olarak yazdığınız
ismi geçirir.
GET methodu yazım kuralları
Eleman Açıklaması
[Link] “request”i işleyecek olan sunucu
/php/[Link] Sunucudaki dosyanın adı ve yeri
? Dosyanın yerini verilerden ayıdır
Key=value Değişken isimleri ve değerleri
& key=value çiftlerini ayırmak için kullanılır
+ Boşluk karakterinin yerine geçer
GET bütün web request’lerinde default olarak kullanılır. Kullanıcı
bir sayfa istediğinde, tarayıcı GET komutunu kullanır. GET ile
çağrılan bir sayfa, eğer tarayıcının hafızasında mevcutsa tarayıcı
sayfanın eski halini gösterebilir. GET ile yaşanan bir diğer
problem, URL ile taşıyabileceğiniz veri miktarının sınırlı olmasıdır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 38
POST Metodu
POST Metodu, form bilgilerini sayfanın bir parçasıymış gibi oluşturur.
Sunucu verileri dosyadan okuyarak alır. Bu metod daha çok verinin
transfer edilebilmesine izin verir ve tarayıcının cache'deki eski bilgileri
göstermesi sorununu ortadan kaldırır.
19.03.24 SÜ Teknoloji Fak. Web Proramlama Dersi 39
Kaynaklar
• [Link]
ml
• SU Teknik Egitim Fak. Web Programlama Dersi Ders Notları
2006
• [Link]
• [Link]
• [Link]