internet tabanli programlama 2. hafta: php temelleri dr. erman yükseltürk

21
INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

Upload: wentworth-bruno

Post on 13-Mar-2016

63 views

Category:

Documents


5 download

DESCRIPTION

INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk. PHP kodlarını web sayfalarınıza gömmek. Welcome Bazı durağan çıktılar. Kısa etiketler (tags) . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

INTERNET TABANLI PROGRAMLAMA

2. Hafta: PHP Temelleri

Dr. Erman Yükseltürk

Page 2: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

2

PHP kodlarını web sayfalarınıza gömmek

</h3>Welcome</h3>

<?php

echo "<p> Bazı dinamik çıktılar</p>" ;

?>

<p>Bazı durağan çıktılar</p>

Kısa etiketler (tags)

<?

print "Bazı dinamik çıktılar" ;

?>

Dr. Erman Yükseltürk

Page 3: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

3

Komut Yapıları<?= " 1 PHP denemeleri" ;?>

<? echo " <br>2 echo PHP denemeleri" ;?>

<?php echo " <br>3 php echo PHP denemeleri" ;?>

<?php print " <br>4 php print PHP denemeleri" ;?>

<? print " <br>5 print PHP denemeleri" ;?>

Script (Frontpage)

<script language=“php”>

print “Php denemesi”;

</script>Dr. Erman Yükseltürk

Page 4: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

4

Komut Yapıları<html><head><title>

<?php echo "Web sayfama hoş geldiniz!";?></title></head><body>

<?php$tarih = "Haziran 26, 2007";

?><p>Bugünün tarihi <?=$tarih;?></p>

</body></html>

Yorum<?php// Başlık : ilk PHP scriptim// Yazar : Erman

echo "Bu bir PHP programı";?>

Dr. Erman Yükseltürk

Page 5: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

5

Komut Yapıları<?php# Başlık : ilk PHP scriptim# Yazar : Erman

echo "Bu bir PHP programı";?>

Bir satırdan fazla yorum olduğunda<?php/*

Başlık : ilk PHP scriptimYazar : ErmanTarih : Eylul 2012

*/print "a";

?>

Dr. Erman Yükseltürk

Page 6: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

6

Web Tarayısına Çıktı Göndermek

<?phpprint("<p>Yaz sezonunu çok severim.</p>");

?>

Aynı ifadenin bir başka biçimi<?php

$sezon = "Yaz";print "<p>$sezon sezonunu çok severim.</p>";

?>

Aynı ifadenin bir başka biçimi<?php

print("<p>Yaz sezonunu çok severim.</p>");

?>

Dr. Erman Yükseltürk

Page 7: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

7

Web Tarayısına Çıktı Göndermek

echo<?php

$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 yanayazdırmak için kullanılıyor.

Dr. Erman Yükseltürk

Page 8: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

8

Web Tarayısına Çıktı Göndermek

printf<?php

printf ("Bar araştırması: %s şişe whisky.", 100);?><?php

printf ("Bar araştırması: %d şişe whisky, fiyatı $%f", 100, 43.20);

?>sprintf<?php

$fiyat = sprintf("$%d", 43,20);print "$fiyat <br>";printf ("Urunun fiyatı = %d", 43,20);

?> sprintf bir değişkene değer atıyor.

Dr. Erman Yükseltürk

Page 9: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

9

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

Page 10: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

10

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

Page 11: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

11

Scalar (sayıl) Veritipleri 1/2

Gerçek sayılar (real numbers)Noktadan sonra kısımları olan sayılardır.4,56788,7e41,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

Page 12: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

12

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

Page 13: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

13

Verileri dönüştürmek 1/3Operatör Dönüşüm(array) Dizi(bool) or (boolean) Boolean(int) or (integer) Tam Sayı(int64) 64-bit Tam sayı (PHP 6’da var)(object) 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

Page 14: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

14

Verileri dönüştürmek 2/3Herhangi bir veri Object’e dönüştürebilir.

$model = "Toyota";$obj = (object) $model;//Object değerini ekrana yazdırmak için ->scalar kullanılırprint $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 = 55echo $total;

Dr. Erman Yükseltürk

Page 15: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

15

Verileri dönüştürmek 3/3Muhtemel dönüştürme Boolean yapılarında da uygulanır

$total = "1.0"; // stringif ($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

Page 16: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

16

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("<br>Değisken \$deger bir tam sayimidir?: %d",is_integer($deger));printf("<br>Değisken \$deger bir numeric sayimidir?: %d <br />", 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

Page 17: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

17

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

Page 18: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

18

Değişken Kapsamları 1/4Yerel 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 <br />", $x);

}assignx();printf("\$x fonksiyonun disinda degeri %d <br />", $x);

Dr. Erman Yükseltürk

Page 19: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

19

Değişken Kapsamları 2/4Fonksiyon 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ürfunction x10 ($deger) {

$deger = $deger * 10;return $deger;

}$islem= x10(25);print $islem;

Dr. Erman Yükseltürk

Page 20: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

20

Değişken Kapsamları 3/4Evrensel (global) DeğişkenlerEvrensel 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

Page 21: INTERNET TABANLI PROGRAMLAMA 2. Hafta: PHP Temelleri Dr. Erman Yükseltürk

21

Değişken Kapsamları 4/4Sabit (static) DeğişkenlerSabit 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 "<br />";

}iz_sur();iz_sur();iz_sur();

STATIC kelimesini kaldırsaydık ne olurdu?

Dr. Erman Yükseltürk