İNTERNET PROGRAMCILIĞI - II



Benzer belgeler

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Internet Programming II

C#(Sharp) Programlama Dili

Internet Programming II

Internet Programming II

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BÖLÜM 4 KONTROL DEYİMLERİ

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

İNTERNET PROGRAMCILIĞI - II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BÖLÜM 3 OPERAT A ÖRLER

PROGRAMLAMAYA GİRİŞ DERS 2

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

1.PROGRAMLAMAYA GİRİŞ

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Dr. Fatih AY Tel: fatihay@fatihay.net

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

Diziler İndisli Değişkenler

Tek dosyalı projeler (siteler) üretmek

Matematiksel Operatörler

Koşullu Önermeler (if else)

PHP Nedir? PHP de Temel Sözdizimi (Syntax)

JAVASCRIPT JAVASCRIPT DİLİ

HESAP MAKİNASI YAPIMI

Bölüm 10: PHP ile Veritabanı Uygulamaları

Öğr. Gör. Serkan AKSU 1

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

WEB PROGRAMLAMA. PHP Temelleri. Dr. Erman Yükseltürk

HSancak Nesne Tabanlı Programlama I Ders Notları

Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.

Genel Programlama II

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

3. Metin ve Görünüm Etiketleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Özyineleme (Recursion)

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

HSancak Nesne Tabanlı Programlama I Ders Notları

C Programlama Dilininin Basit Yapıları

PASCAL PROGRAMLAMA DİLİ YAPISI

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Nesne Tabanlı Programlama

Kabuk Programlama (Bash)

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Python Programlama Dili

Word Otomatik Düzelt

PHP 2. Hafta. PHP de Kod Akışı. Algoritmik Düşünebilmek.

Regular Expressions Version 0.1

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

ÜNİTE 9 ÜNİTE 9 MICROSOFT EXCEL - II TEMEL BİLGİ TEKNOLOJİLERİ İÇİNDEKİLER HEDEFLER

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Print Komutu ile Değişkenleri Yazdırmak

C PROGRAMLAMA DİLİNE GİRİŞ

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİLGİSAYAR PROGRAMLAMA

ALGORİTMA VE PROGRAMLAMA I

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

YZM 2105 Nesneye Yönelik Programlama

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Css Stillerinin Nesneyi Etkileme Yolları Ve Sırası, Diez, Nokta, Yıldız, Class Css De Neyi İfade Eder.

EXCEL FORMÜLLER, FONKSİYONLAR

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü


şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

BİLGİSAYAR PROGRAMLAMA DERSİ

Proje 1. Arayüz Tasarımı

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

Bilgisayar Programlama

Şimdi başka bir problem üzerinde çalışalım.

BİRİNCİ DERECEDEN BİR BİLİNMEYENLİ DENKLEMLER

Nesne Tabanlı Programlama

BİLGİSAYAR PROGRAMLAMA DERSİ

Transkript:

BÖLÜM 3 PHP İÇERİSİNDE DEĞİŞKENLERİN KULLANIMI Önce "değişken" ne demek onu tanımlamakla başlayalım. Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. PHP içerisinde bir değerin hafızada tutulması için,değişkenimize bir isim verip başına "$" işareti getirmek yeterlidir. Örnek verecek olursak: $yazar = "Metin Adaklı"; Burada "yazar" değişken adimiz,içinde sakladığımız değer ise "Metin Adaklı" dır. Değişkenimizin içinde bir sayı da tutabilirdik. $yasimizin_icinde_tutuldugu_degisken = 24; Ne zaman değişkenimizi HTML sayfası içerisinde göstermek istersek aşağıdaki kodu yazmak yeterli olacaktır. echo $yazar; Buradaki echo () komutu değişkenimizi ekrana basmak için kullanılan komuttur. Aynı şekilde yaşımızın içinde tutulduğu "yasimizin_icinde_tutuldugu_degisken" değişkenini ekrana basmak için echo komutunu kullanabiliriz. echo $yasimizin_icinde_tutuldugu_degisken; Değişken Kullanımındaki Kısıtlamalar Bir çok programlama dilinde değişken kullanımına ilişkin kısıtlamalar vardır. Örnek olarak değişken adı kullanırken o dilin fonksiyon adları kullanılamaz veya değişkenlerin karakter sayıları belli bir değeri geçemez. PHP ile kullanılan değişkenlerde herhangi bir karakter sayısı limiti yoktur. İsterseniz değişken adınız 1000 karakter uzunluğunda olabilir. PHP ile değişken adı kullanımında ilk sınırlama değişken adının mutlaka bir harf veya "_" altçizgi ile başlaması zorunluluğudur. (Tabiî ki dolar işaretini burada göz önüne almayınız. Dolar işareti yazdığımız karakterin değişken olduğunu PHP ye göstermek için kullanılmaktadır. )İkinci sınırlama değişken adı içerisinde yalnızca harf,rakam,ve "_" altçizgi kullanılabilir. Değişken adı içerisinde kullanacağınız +,-,& vb gibi karakterler web sayfasında hataya yol açarlar. 17

Değişken Adları BÜYÜK/küçük Harfe Duyarlıdır $yazar = "Metin Adaklı"; ile $Yazar = "Metin Adaklı"; aynı şeyler değildir!!!. yukarıdaki kod grubunda iki tane değişkenimiz var bunlardan birincisi : "yazar" ikincisi : "Yazar" dır. Bu iki farklı değişken için ayrı ayrı küçük hafıza alanları yaratılıp değerler bu alanlarda saklanacaktır. Bu konu ile ilgili bir örnek yazalım: 1. Editör programınızı açın ve aşağıdaki kodları yazın. (Windows kullanıyorsanız Notepad işinizi görür) <HTML> <BODY> <?php $yazar = "Metin Adaklı"; echo $yazar;?> </BODY> </HTML> 2. Bu dosyayı "degisken. php" olarak kayıt edin. 3. Browser üzerinde sayfayı görüntüleyin. (http://localhost/degisken. php) Şöyle bir görüntü olması gerekiyor. Metin Adaklı Program nasıl çalışıyor? Aslında programımız iki satır koddan oluşuyor. ilk satır değişkenimizi tanımlayıp ona bir değer verdiğimiz satır : $yazar = "Metin Adaklı"; 18

İkinci satır kodumuz değişkenimizi ekrana basmak için kullandığımız satır : echo $yazar; Dikkat ettiyseniz echo ile değişkenimizi ekrana bastırırken tırnak işaretleri kullanmadık. Eğer kullansaydık ta ekranda gördüğümüz değer değişmeyecekti. Yani eğer şöyle yazmış olsaydık, echo "$yazar"; Yinede ekranda aynı çıktıyı görecektiniz. (Metin Adaklı). Bunun sebebi PHP ile çalışırken unutmayın ki $ işaretinden sonra gelen karakterler değişken ismidir ve tırnak işaretlerinin olup olmamasına bakılmadan değişken muamelesi göreceklerdir. Burada olduğu gibi ekrana şöyle bir görüntü gelmeyecektir. "$yazar" echo "$yazar" yazılınca ekrana $yazar ifadesinin geleceğini bekledik. Ama bunun yerine değişken içinde saklanan değer geldi. Bu olay biraz Perl dilinden birazda Unix Shell programlama tekniğinden geliyor. Eğer PHP nin bunu gözardı etmesini isterseniz mutlaka tek tırnak kullanmalısınız. '$yazar' şeklinde o zaman yazdığınız terim ekrana basılacak ve bir değişken olup olmadığına bakılmayacaktır. Yani ekrana olduğu gibi $yazar ifadesi gelecektir. Veri Tipleri Daha önceden belirttiğimiz gibi PHP içerisinde değişkenlerimize text veya nümerik değerler verebiliyorduk. Aslında pratikte bunlardan daha değişik veri tipleri de mevcuttur. PHP içerisinde diziler,objeler veri tipi olarak kullanılabilir. Aşağıda PHP içerisinde kullanılan veri tiplerinin tüm listesi bulunmaktadır. string (text) integer (numerik) double (numerik) array object (Nesne) unknown type (bilinmeyen veri tipi) Veri tipleri programcı tarafından tayin edilmez. PHP web sayfasını işlerken bu veri tiplerinin ne olması gerektiğine kendisi karar verir. 19

String Veri Tipi String veri tipi içerisinde textler tutulur. Bu bazen bütün bir cümle veya yalnızca bir kelime olabilir. Çift Tırnak içine alınan bütün karakterler ve hatta nümerik sayılar bile düz text muamelesi görür. $ArabaTipi = "Tofaş"; $MotorHacmi = "1. 6"; Yukarıdaki iki değişkendeki veri tipi aynıdır. İkisi de string veri tipidir ve düz texttir. Yani tırnak içerisindeki ifade nümerik 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. String Sıralaması String sıralaması bir değişken içinde tutuğumuz bir textin yanına ikinci bir değişkenimizde tuttuğumuz textin yazdırılması olarak tanımlanabilir. En basit olarak aşağıdaki örnekte nasıl yapıldığı gösterilmiştir. $Araba = $ArabaTipi. $MotorHacmi; artık $Araba değişkenimiz içerinde şöyle bir değer saklanıyor : Tofaş1. 6 Şimdi olayı biraz daha güzelleştirelim ve Tofaş1. 6 yerine Tofaş 1. 6 yapabilir miyiz diye bakalım. (Birinde Tofaş1. 6 diğerinde Tofaş'tan sonra bir boşluk var. ) Bunun için boşluk değişkeni yaratalım: $Bosluk = " "; Ve $Araba değişkenimize ekleyelim $Araba = $ArabaTipi. $Bosluk. $MotorHacmi; Artık $Araba değişkenimiz içerisinde şöyle bir değer saklanıyor. Tofaş 1. 6 Bu boşluğu şu şekilde de yaratabilirdik. $Araba = $ArabaTipi. " ". $MotorHacmi; İki şekilde de Araba Tipi ile Motor Hacmi arasında boşluk yaratılabilir. Burada örneklerle PHP bilginiz arttırılmaya çalışılmaktadır. 20

Şimdi ekrana bu arabanın sahibinin adı ile beraber yazdıralım. echo "Metinin arabası $Araba "; Ekrana gelen görüntü şöyle olacaktır. Metinin arabası Tofaş 1. 6 Not : Eğer ekrana "parse error" yazan bir hata mesajı geliyorsa ilk önce bütün satırların sonuna ";" koyduğunuza emin olun. Eğer halen hata mesajı geliyorsa değişken isimlerinizi kontrol edin büyük olasılıkla yanlış yazdınız veya büyük/küçük harf ayrımına dikkat etmediniz. Numerik Veri Tipleri PHP içerisinde kullanılan iki değişik numerik veri tipi vardır. Bunlardan ilki "integer" ikincisi "double" dir. Ö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 tutulmaktadır(double). Bu iki veri tipinin farklılıkları yalnızca bu değildir. Tutabilecekleri değer aralığı da double ve integer da farklıdır. Üzerinde çalışılan işletim sistemine göre tutabilecekleri sayı 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) Matematiksel İşlemler + Toplama işlemi için - Çıkarma işlemi için * Çarpma işlemi için 21

/ Bölme işlemi için % Mod işlemi için kullanılır. ( 16 % 3 = 1 gibi) Bir kaç örnekle açıklayalım : $Anakart = 125; $Modem = 65; $Hafiza = 110; $Toplam = $Anakart + $Modem + $Hafiza; echo "Toplam masrafımız $Toplam dolar... "; Burada Anakart, Modem ve Hafıza için değerlerimizi girdik. Sonrada Toplam değişkeninde bunları toplattık. Ekrana toplam sonucu yazmak için ise echo komutunu kullandık. Eğer bunları bir HTML sayfası içinde görüntülemek istemiş olsaydık: <HTML> <BODY> <?php $Anakart = 125; $Modem = 65; $Hafiza = 110; $Toplam = $Anakart + $Modem + $Hafiza; echo "Toplam masrafımız $Toplam dolar... ";?> </HTML> </BODY> Yazmamız ve kaydetmemiz yeterli olacaktı. Browserdan bu sayfaya baktığınızda şöyle bir görüntü olacaktı. Toplam masrafımız 300 dolar... Değişkenin Değerini Kendine Eklemek PHP içerisinde değişkenin değerini kendine eklemeyi öğrenmek bazen çok işimize yarayacaktır. O yüzden bu işlem çok önemlidir. Bir çok işlemde bunu kullanacağız ve buradaki kısa yollar programcı için önemli ölçüde zaman kaybını engelleyecektir. Kısaca olaya bakmak gerekirse : $IslemSayısi = 5; $IslemSayısi = IslemSayısi + 1; echo $işlemsayısi; 22

Gibi bir kod parçası yazdığımızda ekranda göreceğimiz değer "6" olacaktır. Değişkenimiz içerisinde tutulan değerimiz ilk başta "5" sayısıydı. Değişkenin kendisine "1" ekledik ve sonuç "6" oldu. Çok basit gibi görünen bu işlem aslında bir çok şeyin temelidir. Bu konu hakkında bir kaç kısayol bulunmaktadır. Yukarıdaki yazım şeklinden ayrı olarak PHP içinde kullanabileceğiniz değişik şekiller şöyledir. $IslemSayısi = 5; $IslemSayısi ++; echo $IslemSayısi; Çıktınız yine aynı "6" olacaktır. ($IslemSayısi = $IslemSayısi + 1; ile aynı yazım şeklidir. ) $IslemSayısi = 5; $IslemSayısi + = 2; Çıktınız bu sefer "7" olacaktır. ($IslemSayısi = $IslemSayısi + 2; ile aynı yazım şeklidir. ) $IslemSayısi = 5; $IslemSayısi + = $IslemSayısi; Çıktınız yine "6" olacaktır. ($IslemSayısi = $IslemSayısi + 1; ile aynı yazım şeklidir. ) Matematiksel İşlemlerde Öncelik Sırası Gerçek matematik hesaplamalarında olduğu gibi işlemlerin birbirine göre öncelikleri vardır. Bir örnekle açıklarsak : $Sayı = 3+5*6; İşleminin sonucu şö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 şayi "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 : $Sayı = (3+5)*6; Çıktımız "48" olacaktır. 23

Bütün öğrendiklerimizi bir büyük örnek üzerinde göstermek istersek :Fiyatı 1000 lira olan malın KDV eklenince ne kadar olduğunu, %20 indirimden sonra ne kadar olduğunu hesaplayalım. 1. Text editörünüzü açıp aşağıdaki kodları yazın. <HTML> <BODY> <?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 "İndirim Olunca Fiyatı $Indirim_Olunca_Fiyat";?> </BODY> </HTML> 2. Bu dosyayı "fiyat. php" olarak kayıt edin. 3. Browser yardımıyla dosyayı açın. (http://localhost/fiyat. php) Sabitler Şimdiye kadar olan kısımda değişkenlere nasıl değer verebileceğimizi gördük. Değişkenlerimize değer atarken aşağıdaki gibi örnekler kullandık. $yazar = "Metin Adaklı"; echo $yazar; $yazar = "Tom Hanks"; echo $yazar; Böyle yazılmış bir kod grubunun çıktısı şöyle olacaktır. Metin Adaklı Tom Hanks 24

Eğer web sayfasında $yazar değişkenini echo () komutuyla beraber kullanırsanız böyle iki değişik çıktı alırsınız. Eğer istediğiniz bu olayın olmasını engellemek ise "Sabit" kavramını öğrenmeniz gerekmektedir. PHP programlarımız içerisinde bazı değişkenlerin değerlerini sabit olarak işin en başında tanımlayabiliriz. Bunun için en güzel bir kaç örnek aşağıda verilmiştir. $Turkiyenin_Kurucusu = "Mustafa Kemal Atatürk"; $Suyun_Kaynama_Noktasi = 100; $Ulkemin_Adi = "Türkiye"; PHP içerisinde,aldığı değer tüm işlemler boyunca veya programın akışı içerisinde,ilk verdiğimiz değerden başka değer alamayacak sabit tanımlamak için "Define" terimini kullanıyoruz. Örnek vermek gerekirse, define ("TURKIYENINKURUCUSU", "Mustafa Kemal Atatürk"); define ("SUYUNKAYNAMANOKTASI", 100); define ("ULKEMINADI", "Türkiye"); Görüldüğü üzere bu değerler asla değişmeyecek fiziksel veya tarihsel değerlerdir. Bu nedenle bu tip öğeler için programın başında bu tip sabit değişken tanımlamaları yapmak işimizi kolaylaştıracaktır. Web için bu olayı düşünürsek bazen browser penceresinin yükşekliği,veya genişliği gibi değerlerin ne olması gerektiğini sabit olarak programın başında bu şekilde "sabit"leri "define" komutunu kullanarak tanımlayabilirsiniz. PHP içerisinde sabitler aynı değişkenler gibi echo () komutu kullanılarak ekranda gösterilebilir. Bunu bir örnekle açıklayacak olursak, echo "Türkiye nin ilk Cumhurbaşkanı ". TURKIYENINKURUCUSU; Not : Sabitleri kullanırken bu şekilde çift tırnağın dışında kullanmak olası hataları engelleyecektir. yukarıdaki kodun çıktısı şu şekilde olacaktır. Türkiye nin ilk Cumhurbaşkanı Mustafa Kemal Atatürk PHP içerisinde,kurulum sırasında tanımlanmış bazı sabitlerde bulunmaktadır. Bunlar PHP nin kendisi yazılırken tanımlanmıştır. Örnek vermek gerekirse, echo PHP_OS; Komutunun çıktısı PHP nin üzerinde çalıştığı server ın İşletim Sistemi olacaktır. Bu şekilde tanımlanmış sabitler için PHP nin kendi sitesinden detaylı bilgi alabilirsiniz. (www. php. net) 25

Genel Tanımlı Değişkenler (Environment Variables) Bunlar PHP değişkenleri olarak ta 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 aynı 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ın kullandığı browser tipini öğrenebilirsiniz. PHP değişkenlerini kendiniz değiştiremezsiniz. Yalnızca işinize yaraması için kullanabilirsiniz. Genel Tanımlı PHP değişkenlerinin tam listesini ve ayrıntılı açıklamalarını www. php. net adresinden öğrenebilirsiniz. Dönüşümler PHP programlarının yazılması sırasında karşımıza şöyle bir problem çıkabilir. Eğer değişkenin veri tipini değiştirmek isterseniz bunu nasıl yapacaksınız. Daha önceki konularda veri tipleri(text,sayı,nesne vs) hakkında detaylı açıklama yapılmıştı. Şimdi konumuza bir örnek verelim. $Araba = "1. 6 Tofaş"; $KDV = 17; $Odenecek_Vergi = $Araba * $KDV ; İlk değişkenimiz bir text yani düz bir yazı, ikinci değişkenimiz bir sayı. Biz üçüncü satırda bir text ile bir sayının çarpımını bir değişkene atıyoruz. Çarpımın sonucunu ise: echo $Odenecek_Vergi ; ile sonucu ekrana yazdırmak istersek karşımıza, "27. 2" gelecektir. 26

PHP ye bir sayı vererek onu text ile çarpmasını söyledik. PHP de text içerisindeki ilk sayı değerini alarak gerisindeki texti önemsemeden ilk sayı 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 kararları verebilecek kadar zekice tasarlanmıştır. Değişken Tip Dönüşümü PHP içerisinde bir değişkenin veri tipini kesin olarak belirlemek istersek (Sonuçta yukarıdaki gibi bir olayı her zaman istemeyebiliriz), 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ı tersine çevirmektir. $DegiskenAdi = 3; $DegiskenAdi = (string) $DegiskenAdi; $DegiskenAdi = (integer) $DegiskenAdi; İlk Satırda değişkenimize 3 değerini atadım. Bu numerik bir veri tipidir. (Verinin 3 olmasından dolayı string değil, çift tırnak içerisine almadığım için verimiz bir numerik veri tipidir. Eğer şöyle yapsaydık "3"; Bu değişkenimiz düz text veri tipinden başka bir şey olmayacaktı). İ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. gettype () ve settype () Kavramları Bu iki komut değişkenimizin veri tipini öğrenmek ve değişkenimize istediğimiz veri tipini atamak için kullanılır. Örnek vermek gerekirse, $DegiskenAdi = 3; echo gettype ($DegiskenAdi); Bu iki satırlık kod parçasının çıktısı şöyle olacaktır. 27

"integer" Burada gettype komutunu kullanarak PHP'ye değişkenimizin ne tur bir veri tipine sahip olduğunu sorduk. PHP bize bu değişken içinde saklanan verinin "integer" yani numerik bir veri olduğu cevabini verdi. (gettype komutunu echo ile kullanarak PHP nin ekrana cevabi yazmasını sağladık) Şimdi de "settype" komutunun kullanımına bakalım. $DegiskenAdi = 3; settype ($DegiskenAdi, "string"); Aynı Yukarıda veri tipinin donuşumu konusunda anlattığımız 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 cevap "string" şeklinde olacaktır. $DegiskenAdi = 3; settype ($DegiskenAdi, "string"); echo gettype ($DegiskenAdi); Kodumuzun çıktısı, "string" olacaktır. İlk satırda bir numerik tipinde verimiz vardı settype kullanarak bunu string hale cevirdik. Sonra da gettype komutunu kullanarak değişkenimizin ne tür bir veri tipinde değer sakladığını bulduk. echo komutunu kullanarak ta ekrana yazdırdık. isset, unset, ve empty Komutlarının Kullanılması PHP içerisinde yer alan bu üç komut değişkenlerle ilgili işlemlerde çok kullanışlıdır. Aşağıda bu uç komutun kullanımlarına ilişkin detaylı açıklama bulacaksınız. İlk komutumuz "isset ()" bize komutun içinde verdiğimiz yazı gurubunun bir değişken olarak program içinde tanımlanıp tanımlanmadığının cevabini 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 döndürür. Eğer böyle bir değişken hiç tanımlanmadı ise hiç bir değer döndürmez (Sıfır değerini bile döndürmez. Hiçbir şekilde, hiçbir değer 28

almaz). Bu mesela bir çerezin yazılıp yazılmadığını kontrol ederken işimize yarayabilir. İkinci komutumuz 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. Üçüncü komutumuz empty () empty () fonksiyonu isset () fonksiyonu ile tam zıt bir işlev görür. Eğer değişkenin herhangi bir değeri yoksa,değeri sıfıra eşitse veya bos bir string veri içeriyorsa,fonksiyondan "true" yani doğru değeri döner. Diğer bütün hallerde "false" yani yanlış yapısal değeri döner. Örnek : echo empty ($yenidegisken); //true Değişkenin herhangi bir değeri olmadığı için empty () fonksiyonu "true" değerini döndürdu. Şimdi değişkene bir değer verelim ve tekrar çalıştıralım: $yenidegisken = 1; echo empty ($yenidegisken); //false Şimdi ekrana false yazdı çünkü değişken bir değere sahip ve bu değer ne sıfır ne bos bir string... $yenidegisken = ""; echo empty ($yenidegisken); //true $yenidegisken = 0; echo empty ($yenidegisken); //true $yenidegisken = "İstanbulda olmak vardı... "; echo empty ($yenidegisken); //false unset ($yenidegisken); echo empty ($yenidegisken); //true 29

is... () Fonksiyonları is_int (), is_integer (), ve is_long () fonksiyonları hepsi birbirinin hemen hemen aynı olan,bizim değişkenin "integer" yani tamsayı olup olmadığını anlamamıza yarayan fonksiyonlardır. is_double (), is_float (), is_real fonksiyonları hepsi birbirinin hemen hemen aynı olan,bizim değişkenin "double" yani ondalık sayı olup olmadığını anlamamıza yarayan fonksiyonlardır. is_string (), is_array () ve is_object () ise kendi adlarıyla anılan değişken veri tipleri için bizim örneğin bir değişkenin string,array veya object olup olmadığını anlamamızı sağlarlar. Örnek : $UrunNo = "432BB"; if (is_string ($UrunNo)) { echo ("String"); }... val () Fonksiyonları intval (), doubleval () ve strval () fonksiyonları ile değişkenin sahip olduğu veri tipi değiştirilebilir. Bu fonksiyonlar yardımıyla bir değişkenin "dizi" veya "nesneye" dönüştürülmesi sağlanamaz. Örnek : $UrunNo = "432BB"; $i = intval ($UrunNo); //$i = 432 olur. intval () fonksiyonu seçeneğe bağlı olarak bir ikinci argument olarak sayı düzeni sisteminizin seçilmesini alabilir. Örneğin değişkenin sahip olduğu değeri 16 lif sayı düzenine çevirmek istersek : $UrunNo = "432BB"; $i = intval ($UrunNo,16); //$i = (decimal) 275131 olur. Bazı kısa yollar ile değişken işlemlerinin yapılması ve kodun okunabilirliğinde artış sağlanması 30

$h += $i; Bu şuna eşittir : $h = $h + $i; $h -= $i; Bu şuna eşittir : $h = $h - $i; $h *= $i; Bu şuna eşittir : $h = $h * $i; $h /= $i; Bu şuna eşittir : $h = $h / $i; $h %= $i; Bu şuna eşittir : $h = $h % $i; $h &= $i; Bu şuna eşittir : $h = $h & $i; $h = $i; Bu şuna eşittir : $h = $h $i; $h ^= $i; Bu şuna eşittir : $h = $h ^ $i; $h. = $i; Bu şuna eşittir : $h = $h. $i; $h >>= 2; Bu şuna eşittir : $h = $h >> 2; $h <<= 2; Bu şuna eşittir : $h = $h << 2; $h ++; Bu şuna eşittir : $h = $h + 1; $h --; Bu şuna eşittir : $h = $h - 1; Bazı ilginç noktalar Şimdi aşağıdaki örneğe bakiniz: $a = 10; //$a 10'a eşit. $a ++; //Şimdi $a 11'e eşit. $a=10; //$a 10'a eşit. ++$a; //$a 11'e eşit. //Fakat : $a = 10; //$a 10'a eşit $b = $a++; //$a 11'e eşit ve $b 10'a eşit. Çünkü atama işleminden sonra bir arttırma olayı var. $a = 10; //$a 10'a eşit $b = ++$a; //$a 11'e eşit ve $b 11'e eşit. Çünkü atama işleminden önce bir arttırma olayı var. 31