Transcript Slayt 1
INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk
PHP kodlarını web sayfalarınıza gömmek
Welcome
echo "
Bazı dinamik çıktılar
" ; ?>Bazı durağan çıktılar
Kısa etiketler (tags) Dr. Erman Yükseltürk 2Komut Yapıları
2 echo PHP denemeleri" ;?> 3 php echo PHP denemeleri" ;?> 4 php print PHP denemeleri" ;?> 5 print PHP denemeleri" ;?> Script ( Frontpage ) Dr. Erman Yükseltürk 3
Komut Yapıları
$tarih = "Haziran 26, 2007"; ?>
Bugünün tarihi
Yorum
// Başlık : ilk PHP scriptim // Yazar : Erman echo "Bu bir PHP programı"; ?> Dr. Erman Yükseltürk 4
Komut Yapıları
# Başlık : ilk PHP scriptim # Yazar : Erman echo "Bu bir PHP programı"; ?>
Bir satırdan fazla yorum olduğunda
/* Başlık : ilk PHP scriptim Yazar : Erman Tarih : Eylul 2012 */ print "a"; ?> Dr. Erman Yükseltürk 5
Web Tarayısına Çıktı Göndermek
print("
Yaz sezonunu çok severim.
"); ?>Aynı ifadenin bir başka biçimi
$sezon = "Yaz"; print "
$sezon sezonunu çok severim.
"; ?>Aynı ifadenin bir başka biçimi
print("
Yaz sezonunu çok severim.
"); ?> Dr. Erman Yükseltürk 6Web Tarayısına Çıktı Göndermek
echo
$EnIyiErkekOyuncu = "Morgan Freeman"; $EnIyiKadinOyuncu = "Hale Berry"; echo "En iyi kadın oyuncu ödülünü ", $EnIyiKadinOyuncu, " ve en iyi erkek oyuncu ödülünü ", $EnIyiErkekOyuncu, " aldı."; ?> print ve echo aynı amaçla kullanılıyorlar fakat echo gerçekte birden fazla string’i yan yana yazdırmak için kullanılıyor.
Dr. Erman Yükseltürk 7
Web Tarayısına Çıktı Göndermek
printf
printf ("Bar araştırması: %s şişe whisky.", 100); ?>
printf ("Bar araştırması: %d şişe whisky, fiyatı $%f", 100, 43.20); ?>
sprintf
$fiyat = sprintf("$%d", 43,20); print "$fiyat
"; printf ("Urunun fiyatı = %d", 43,20); ?> sprintf bir değişkene değer atıyor.
Dr. Erman Yükseltürk 8
Web Tarayısına Çıktı Göndermek
%b integer ve binary numara olarak yazılır, %c integer ve karşılığı ASCII değeri yazılır, %d integer ve decimal numara olarak yazılır, %f noktalı sayılar ve noktalı sayı olarak yazılır, %o integer ve karşılığı oktal sayı olarak yazılır, %s string ve karşılığı string olarak yazılır, “string“ %u integer ve işaretsiz decimal sayı olarak yazılır, %x integer ve küçük harflerle hexadecimal sayı, %X integer ve büyük harflerle hexadecimal sayı.
Dr. Erman Yükseltürk 9
Scalar (sayıl) Veritipleri 1/2
Boolean
$deger= false;//$deger değeri yanlış $deger= 1; //$deger değeri doğru.
$deger= -1; //$deger değeri doğru.
$deger= 5; //$deger değeri doğru.
$deger= 0; //$deger değeri yanlış.
Integer (tam sayılar)
10 tabanlı (decimal) 8 tabanlı (octal) 16 tabanlı (hexadecimal) Dr. Erman Yükseltürk 10
Scalar (sayıl) Veritipleri 1/2
Gerçek sayılar (real numbers)
Noktadan sonra kısımları olan sayılardır.
4,5678 8,7e4 1,23E+11
String (metin)
"PHP çok güçlü bir dildir. “ $color = "maroon"; $karakter = $color[2]; // karakter’e r değerini atar Dr. Erman Yükseltürk 11
Birleşik Veritipleri (Compound Datatypes) Diziler
$sehir[0] = “Adana"; $sehir[1] = “Adıyaman"; $sehir[2] = “Afyon"; … $sehir[80] = “Düzce"; $sehir[Adana] = “1254325"; $sehir[Adıyaman] = “56437"; $sehir[Afyon] = “189008"; Diziler ileriki konularda !!!
Nesneler (Objects)
Tam olarak tanımlanmalıdırlar.
Class Uygulama{ private $_power; function setPower($status){ $this->_power= $status; } } … $blender = new Uygulama Dr. Erman Yükseltürk 12
Verileri dönüştürmek 1/3
Operatör Dönüşüm
(array) (bool) or (boolean) Boolean (int) or (integer) Dizi Tam Sayı (int64) (object) 64-bit Tam sayı (PHP 6’da var) Nesne (string) Metin (real) or (double) or (float) Ondalıklı Sayı $puan = (double) 13; // $puan = 13.0
$puan = (int) “13,8”; // $puan = 13.0
$cumle = (int) "Bu bir cümle"; print $cumle; //0 döndürür $puan = 1114; $puanTahtasi = (array) $puan; echo $puanTahtasi[0]; // 1114 değerini döndürür Dr. Erman Yükseltürk 13
Verileri dönüştürmek 2/3
Herhangi bir veri Object’e dönüştürebilir.
$model = "Toyota"; $obj = (object) $model; //Object değerini ekrana yazdırmak için ->scalar kullanılır print $obj->scalar; // "Toyota" değerini döndürür
Değişkenlerin tipi farklı olduğunda en muhtemel işlem uygulanır.
$total = 5; // integer $count = "15"; // string $total += $count; // $total = 20 (an integer) $total = "45 ateş makinesi"; $yeniGelen = 10; $total = $yeniGelen + $total; // $total = 55 echo $total; Dr. Erman Yükseltürk 14
Verileri dönüştürmek 3/3
Muhtemel dönüştürme Boolean yapılarında da uygulanır
$total = "1.0"; // string if ($total) echo “Pozitif bölgedeyiz!"; $val1 = "1.2e3"; // 1,200 $val2 = 2; echo $val1 * $val2; // 2400 değerini döndürür
gettype(değişken)
$val1 = "1.2e3"; // 1,200 $val2 = gettype($val1); echo $val2; // string değerini döndürür.
Settype(değişken, dönüştürülecek değişken türü)
$val1 = "1.2e3"; // 1,200 $val2 = settype($val1, "integer"); echo $val2; // 1 değerini döndürür. Dr. Erman Yükseltürk 15
Belirteç (identifier) Fonksiyonları
is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), and is_string().
$deger = 43; printf("Değisken \$deger bir dizimidir?: %d", is_array($deger)); printf("
Değisken \$deger bir tam sayimidir?: %d",is_integer($deger)); printf("
Değisken \$deger bir numeric sayimidir?: %d
", is_numeric($deger)); \$deger ???
Belirteçler (identifier)
• Bir veya daha çok karakterden oluşabilir ve harf veya alt çizgi ile başlar, • Harfler, rakamlar, altçizgi karakterleri ve 127-255’e ASCII karakterleri kullanılabilir, • Büyük küçük harfe duyarlıdır, • İstenilen uzunlukta olabilir, • PHP komutlarından herhangi biri belirteç olarak tanımlanamaz .
Dr. Erman Yükseltürk 16
Değişkenler (Variables)
Değişken farklı zamanlarda farklı değerler alabilen simgelerdir.
Değişkenler $ işareti ile başlar ve belirteçlerle aynı isimlendirme kurallarına uyarlar.
$color $isletim_sistemi $ModelName Değişkenler tanımlamadan da kullanabilir, ama bu ders kapsamında önce tanımlayıp sonra kullanmanız isteniyor.
Değer atama
$color=“red”; $numara=12; $toplam=12 + "15" //$toplam =27 olur
Referans Atama
$deger1="Merhaba"; $deger2=& $deger1; //$deger1 ve $deger2 nin değeri Merhaba oldu $deger2="Bay bay"; //$deger1 ve $deger2 nin değeri Bay bay oldu Dr. Erman Yükseltürk 17
Değişken Kapsamları 1/4
Yerel Değişkenler
Herhangi bir fonksiyonda tanımlanan değişkenlerdir.
Bu fonksiyonun dışındaki değer atamalar tamamen farklı bir değişkenmiş gibi işlem görür.
Fonksiyonu çıktığınız anda değişkeniniz ve atadığınız değeriniz sıfırlanır.
$x = 4; function assignx () { $x = 0; printf("\$x fonksiyonun icinde degeri %d
", $x); } assignx(); printf("\$x fonksiyonun disinda degeri %d
", $x); Dr. Erman Yükseltürk 18
Değişken Kapsamları 2/4
Fonksiyon parametreleri
Diğer programlarda da olduğu gibi parametre kabul eden fonksiyonlar fonksiyon başlığında bunları açıklamalıdırlar.
Fonksiyon parametreleri fonksiyon isminden sonra parantez içinde gösterilirler.
// girilen değerin 10 katını geri döndürür function x10 ($deger) { $deger = $deger * 10; return $deger; } $islem= x10(25); print $islem; Dr. Erman Yükseltürk 19
Değişken Kapsamları 3/4
Evrensel (global) Değişkenler
Evrensel değişkenler programın herhangi bir yerinden ulaşılabilirler.
Bir global değişken değiştirilecek fonksiyonda açıkça belirtilmelidir.
Bunun için değişkenin önüne GLOBAL yazmak yeterlidir.
Global değişkenler kullanmak öngörülmeyen problemlere yol açabilir, bu yüzaden dikkatli olmak gerekir $bir_degisken = 15; function addit() { GLOBAL $bir_degisken; $bir_degisken++; echo "bir degisken = $bir_degisken"; } addit(); \ *sonuç olarak 16 üretir. GLOBAL yazılmasaydı 1 üretirdi*/ Dr. Erman Yükseltürk 20
Değişken Kapsamları 4/4
Sabit (static) Değişkenler
Sabit bir değişken fonksiyon kapatılsa bile değerini kaybetmez, fonksiyon tekrar çağrıldığında değerini korur.
Bunun için değişkenin önüne STATIC yazmak yeterlidir.
} function iz_sur() { STATIC $sayi = 0; $sayi++; echo $sayi; echo "
"; iz_sur(); iz_sur(); iz_sur(); STATIC kelimesini kaldırsaydık ne olurdu?
Dr. Erman Yükseltürk 21