Professional Documents
Culture Documents
PHP Ders1
PHP Ders1
PHP Ders1
İNTERNET PROGRAMCILIĞI – II
http://www.gokhandokuyucu.com
22.02.2011 http://www.gokhandokuyucu.com 1
GİRİŞ
PHP nedir ve çalışır?
22.02.2011 http://www.gokhandokuyucu.com 2
PHP’nin gelişimi
Çıkış noktası Perl dili dir.
• PHP 1995 yılında, Rasmus Lerdorf’un
web sitelerini daha rahat geliştirebilmek için bazı C
dilinde geliştirdiği bir dil olarak ortaya çıktı.
.
22.02.2011 http://www.gokhandokuyucu.com 3
PROGRAMLAMAYA GİRİŞ
22.02.2011 http://www.gokhandokuyucu.com 4
PROGRAMLAMAYA GİRİŞ
Geliştireceğimiz PHP projelerimiz için bir local server kurmamız gerek
e bilir bunu biz.
WAMP paketini ile kolay yoldan hal edeceğiz…
Bu paket içerisinde sizin için
− Apache Web Sunucusu
− MySQL Veritabanı Sunucusu
− PHP Yorumlayıcısı
kendisi kurar.. (http://www.wampserver.com/en/download.php)
Size doğrudan kodlamaya geçmek kalır...
Apache ve PHP birlikte yüksek performansla çalışır. Bu yüzden bu iki
yazılım birbirinden ayrılmaz ikili olarak kabul edilir.
22.02.2011 http://www.gokhandokuyucu.com 5
PHP Çalışması
PHP özellikle web uygulamaları için üretilen web sayfalarının
hızlı bir şekilde yazılması için düşünülmüştür.
PHP, HTML kodları içine gömülü bir script dilidir.
PHP kendi yorumlayıcısı ile birlikte kullanılır. Bu
yorumlayıcının yaptığı aslında HTML kodları arasına
yerleştirilmiş PHP kodlarını ayrıştırıp işleyerek sonuçta saf
HTML formatında bir çıktı üretmek ve web sunucuya
iletmektir. Böylece istemcilerde herhangi bir internet
tarayıcısı sayesinde HTML formatında sayfa görüntülenir.
22.02.2011 http://www.gokhandokuyucu.com 6
Web Server(Web Sunucu) dosya
uzantısından bu isteği yapan
dosyanın bir PHP dosyası olduğunu
algılar ve PHP yorumlayıcıya yollar.
PHP yorumlayıcısı ilgili dosya
içindeki scriptleri çalıştırarak geriye
döndürdüğü sonucu web sunucuya
tekrar gönderir.
Web sunucuya ulaştırılan sonuç
istemci tarafına HTML dosya olarak
yollanır.
PHP, sunucu taraflı (server-side) bir programlama dili olduğu için istemci
tarafından PHP kodları görüntülenemez,sadece PHP kodlarının dönüştürüldüğü
HTML kodları görüntülenebilir.
22.02.2011 http://www.gokhandokuyucu.com 7
PHP’nin HTML İçinde Kullanımı
PHP kodu, HTML kodlarının içine 4 farklı şekilde yazılabilir. Bu
seçenekler aşağıdaki kırmızı renkteki işaretlerle gösterilmiştir.
Kısa Stil: <? Buraya PHP kodu yazılacak ?>
XML Stil: <?php Buraya PHP kodu yazılacak?>
Script Stil:<script language='php'> Buraya PHP kodu yazılacak
</script>
Asp Stil: <%Buraya PHP kodu yazılacak%>
22.02.2011 http://www.gokhandokuyucu.com 8
Şekil 1.2: PHP – HTML kod dönüşümü
Yukardaki örnekte görüldüğü gibi PHP sayfasında bulunan
<?php
Echo “BİLİŞİM TEKNOLOJİLERİ”;
?>
kod satırı web sunucusunda yorumlanarak istemciye
saf HTML kodu olarak gönderilmektedir.
22.02.2011 http://www.gokhandokuyucu.com 10
PHP YAZILIM İHTİYACI
PHP ile etkileşimli programlar oluşturmak istiyorsak şu yazılımlara
ihtiyacımız vardır.
Web sunucu
PHP yorumlayıcı
Yazmak istediğiniz Web programı ile kayıt ekleme, silme,
güncelleme veya kayıt sorgulama varsa bu işlemleri yapabilmek
için bir veri tabanı
Veri tabanına kolay erişim için hazırlanmış yardımcı yazılım
(örneğin MySql veritabanı için kullanılan PhpMyAdmin yazılımı)
PHP’ye neden ihtiyaç vardır?
ÖRNEK: PHP dilinde “ Echo ” komutu ekrana herhangi bir cümleciği yazdırmaya
yarar.
Bu komutu kullanarak bir PHP sayfası oluşturduğumuzu varsayalım sayfamız şu
şekilde olacaktır.
<?php
?>
Bu PHP sayfamızın ekran çıktısı ise “ilk PHP sayfamı hazırlıyorum”
şeklinde olacaktır.
22.02.2011 http://www.gokhandokuyucu.com 13
ÖRNEK:
phpinfo() komutu kullandığımız PHP yazılımının özelliğini
ekranda gösterir.
Yani php version unu…
<?php
phpinfo();
?>
Ekran Çıktısı
PHP Version 5.2.5
22.02.2011 http://www.gokhandokuyucu.com 14
ÖRNEK:
Daha sonraki modüllerde göreceğiniz for komutuyla ekrana
1’ den 10’a kadar olan sayıları yazmak istersek PHP
sayfamız şu şekilde düzenlenmelidir.
Ekran çıktısı
<?PHP 1
2
for ($i=1;$i<=10;$i++) 3
4
Echo $i.”<br>”; 5
6
/* . Nokta <br> takınıyla $i 7
değişkenini birlikte çalıştırır..*/ 8
9
?> 10
22.02.2011 http://www.gokhandokuyucu.com 15
Avantajları ve Dezavantajları
PHP programlama dilinin avantajlarını şu şekilde sıralayabiliriz.
Çok hızlı çalışan bir dildir.
Öğrenilmesi kolay bir dildir. Kod yazımı Perl, C, JavaScript vb. gibi yaygın
kullanılan programlama dillerine benzer. Böylece bu dillerden herhangi birini
bilen bir kişi kolayca PHP kodu yazabilir.
İnternette büyük bir geliştirici topluluğuna sahiptir ve PHP ile yazılmış birçok
kod veya program, ücretsiz olarak internet üzerinden elde edilebilir.
22.02.2011 http://www.gokhandokuyucu.com 16
Veri tabanı olarak MSSQL, MySql, Oracle vb. veritabanlarına
bağlanabilir. Kayıt ekleme, kayıt silme, kayıt güncelleme,
sorgulama vb. işlemler kolay ve güvenli bir şekilde yapılabilir.
Özellikle PHP ile MySql veri tabanı birlikte yüksek performansla
çalıştığı için günümüzde ayrılmaz bir ikili oluşturmuşlardır.
22.02.2011 http://www.gokhandokuyucu.com 17
Avantajları ve Dezavantajları
PHP nin avantajları yanı sıra dezavantajları da bulunmaktadır.
22.02.2011 http://www.gokhandokuyucu.com 18
SÖZLÜK
script HTML kodları arasına yerleştirilen küçük kodlardır.
Sunucu(server) Herhangi bir ağ üzerinde bir programı veya bir bilgiyi farklı
kullanıcılara/sistemlere paylaştıran/dağıtan donanım veya yazılıma
verilen genel isimdir.
İstemci(client) Bir ağ üzerinde, sunucu bilgisayarlardan hizmet alan kullanıcı
bilgisayarlarıdır.
interaktif Etkileşimli kullanılabilir (web sayfaları için).
uzantı Dosyaların türünü belirleyen “.” işaretinden sonra gelen bölümdür
(ör.index.php).
Configure(conf) Yapılandırmak
next İleri
localhost Tüm bilgisayarların kendi yerel alan adı
password Şifre
user Kullanıcı
login Giriş, oturum açma
msi Çalıştırılabilir kurulum dosyası (ör. Apache.msi)
22.02.2011 http://www.gokhandokuyucu.com 19
DEĞİŞKENLER
Değişkenler, verileri bellekte tutmak için kullanılır. Her
tanımlanan değişken, bellekte belli bir yer ayrılmasına neden
olur.
Değişkenin içerisine programın herhangi bir yerinde farklı
değerler atanabilir.
**İçerisinde değer bulunduran bir değişkene yeni bir değer
atandığında eski değer kaybolur, yerine bu yeni değer tutulur.
‘Değişken’ adını da bu yüzden alır.
22.02.2011 http://www.gokhandokuyucu.com 20
Doğru Tanımlama Örnekleri
$sayi_1 = 453;
$isim = “Hasan”;
$boy = 1.78;
22.02.2011 http://www.gokhandokuyucu.com 21
Yanlış Tanımlama Örnekleri
$1sayi= 453; (değişkenler rakamla başlayamaz)
$isim% = “Hasan”; (değişkenler içinde ‘_’ işaretinden başka
işaret kullanılmaz)
$maaş=1000; //’ş’ (Türkçe karakter kullanılamaz)
$Soyad=Ünlü (değişken içine Türkçe karakter atanabilir fakat
bütün karakter değişkenler çift tırnak içine yazılmalıdır. “Ünlü”
gibi.)
22.02.2011 http://www.gokhandokuyucu.com 22
Değişken Tanımlama
Değişkenler tanımlanırken değişken isminin başına “$” (dolar işareti)
konulur.
Değişkenler (ç, ğ, ü, ö, ş ı, İ gibi Türkçe karakterler hariç) bir harf ya da
‘_’ işareti ile başlayabilir. Değişken adı içerisinde rakam bulunabilir
fakat değişken adı rakamla başlayamaz. Ayrıca değişken içerisinde ‘_’
işaretinden başka işaret kullanılmaz.
Değişkenlere atama yapılırken atama operatörü olan “=” (eşittir) işareti
kullanılır. Değişken tipi belirlemeden değişkene direkt olarak değer
atayabiliriz.
22.02.2011 http://www.gokhandokuyucu.com 23
Değişken Tipleri
Tam Sayı (İnteger) Veri Türü
Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. 34,
567, 2343, -65, 56306 gibi sayılar örnek verilebilir.
Örnek Kod
<?php Ekran Çıktısı
$i=65; echo ($i); 65
Echo “<br>”; -345
$x=-345; echo ($x); 937278
Echo “<br>”;
$y=937278; echo ($y);
?>
22.02.2011 http://www.gokhandokuyucu.com 24
Kayan Noktalı (Real) Veri Türü
Ondalıklı kısmı bulunan sayılardır.
Örneğin 564.4, -23.9 gibi sayılardır. Bu veri türüne
değer atanırken sayının tam kısmı ve ondalık kısmı
arasına “.” (nokta işareti) konulur.
Örnek Kod
<?php Ekran Çıktısı
Ekran Çıktısı
$i=65.6; echo ($i); 65.6
Echo “<br>” -345.76
$x=-345.76; echo ($x); 937278.94
Echo “<br>”
$y=937278.94; echo($y);
?>
22.02.2011 http://www.gokhandokuyucu.com 25
Karakter Dizileri (String) Veri Türü
22.02.2011 http://www.gokhandokuyucu.com 26
Çift Tırnak ile Tanımlanan Karakter Dizileri
Bu tanımlamada çift tırnak içinde başka bir değişken
varsa o değişkenin değeri aktarılır.
Ekran Çıktısı
$ad="Bilişim";
$sonuc="$ad Teknolojileri";
echo($sonuc);
?>
22.02.2011 http://www.gokhandokuyucu.com 27
Tek Tırnak ile Tanımlanan Karakter Dizileri
Bu tanımlamada tek tırnak içinde başka bir değişken varsa
o değişkenin değeri alınmaz. Değişken adı $ işareti ile
birlikte aktarılır.
Örnek Kod
<?php Ekran Çıktısı
Ekran Çıktısı
$ad Teknolojileri
$ad="Bilişim";
$sonuc='$ad Teknolojileri';
Echo ($sonuc);
?>
22.02.2011 http://www.gokhandokuyucu.com 28
Dizi Tipindeki Değişkenler
Hazırlanmış fonksiyonlarla kullanıldıklarında birçok işlem kolayca
yapılabilir. Bu fonksiyonları ileriki konularda göreceksiniz. Dizi
tipindeki değişkenlerin nasıl tanımlandığını inceleyelim.
$dizi[ anahtar ] = değer ;
Dikkat: Dizi oluştururken kullanılan anahtar nümerik (sayısal) ve
karakter dizisi olabilir. Fakat negatif değer alamaz.
22.02.2011 http://www.gokhandokuyucu.com 29
Dizi Tipindeki Değişkenler
Örnek Kod Ekran Çıktısı
<?php 0 anahtarın degeri:Pazartesi.
$gun[0]= "Pazartesi"; 1 anahtarın degeri:Salı.
$gun[1]= "Salı"; 2 anahtarın degeri:Çarşamba.
$gun[2]= "Çarşamba"; 3 anahtarın degeri:Perşembe.
$gun[3]= "Perşembe"; 4 anahtarın degeri:Cuma.
$gun[4]= "Cuma";
/* foreach döngüsü de bir for döngüsüne benzer ama
genelde anahtar ve değerleri elde etme kullanılır dizilerde..*/
foreach($gun as $anahtar=>$deger)
{
echo "$anahtar anahtarın degeri:$deger.<br>";
}
?>
22.02.2011 http://www.gokhandokuyucu.com 30
İki Boyutlu Dizi Tanımlaması
Örnek Kod
<?php
?>
22.02.2011 http://www.gokhandokuyucu.com 31
Nesneler (Objects)
Herhangi bir sınıf (class) yazıldıktan sonra o sınıfa ait tanımlanan
değişkenlerdir.
Tanımlandıkları sınıfların özellik ve fonksiyonlarına bu değişkenler üzerinden
ulaşılabilir.
<?php Ekran Çıktısı
motorlu taşıt
class araba {
function mesaj () {
echo "motorlu taşıt";
}
}
$mercedes = new araba;
$mercedes->mesaj();
22.02.2011 ?> http://www.gokhandokuyucu.com 32
Nesneler (Objects)
Yukarıdaki programda öncelikle araba adında bir sınıf (class) tanımlaması
yapılmıştır. Bu sınıf mesaj adında bir fonksiyona sahiptir. Bu fonksiyonla
ekrana "motorlu taşıt" cümlesi yazdırılabilir.
22.02.2011 http://www.gokhandokuyucu.com 34
Mantıksal (Boolean) Değişkenler
Not: Değişkenler arasında tür ataması settype() fonksiyonu yardımıyla
gerçekleştirilebilir.
Değişkenin türünü öğrenmek için ise gettype() fonksiyonu kullanabilirsiniz.
22.02.2011 http://www.gokhandokuyucu.com 35
Sabitler
Sabitler önceden tanımlanır ve değer atanır ve program içinde değeri
değiştirilemez. Diğer tiplerdeki değişkenlere programın her yerinde
istenilen değer atanabilir. Fakat sabit bir değere yeni bir değer ataması
yapılırsa hata alınır.
22.02.2011 http://www.gokhandokuyucu.com 36
Örnek Tanımlama
Örnek Kod Ekran Çıktısı
Define (“sabitin ismi”,değeri); <?php 3.14
Define ("pi",3.14);
Define (“pi”,3.14);
echo(pi);
?>
!!!Hatalı Kod
<?php
Define ("pi",3.14);
pi=54;
echo(pi); ?>
22.02.2011 http://www.gokhandokuyucu.com 37
Operatörler
Operatörler, değerler ve değişkenler üzerinde işlem yaparak onları
düzenlememizi sağlayan özel karakterlerdir.
22.02.2011 http://www.gokhandokuyucu.com 38
Atama Operatörü
Atama operatörü “=” (eşittir işareti)’ dir. Program içerisinde herhangi bir
değişkene herhangi bir değeri atamak amacıyla kullanılır. Atama işlemi
sağdan sola doğru gerçekleştirilir.
22.02.2011 http://www.gokhandokuyucu.com 39
Aritmetik Operatörler
Temel matematiksel işlemlerin yapılmasında kullanılan operatörlerdir.
22.02.2011 http://www.gokhandokuyucu.com 40
10 ve 2 sayılarını birer değişkenlere atayıp aralarında toplama,çıkarma,
çarpma, bölme ve kalanı bulma işlemlerini yapan PHP kodunu yazalım.
<?PHP
$sayi1=10; // birinci sayımıza 10 değerini aktardık.
$sayi2=2; // ikinci sayımıza 2 değerini aktardık. Ekran Çıktısı
$toplam = $sayi1+$sayi2; // birinci ve ikinci sayımızı topladık ve sonucu
// $toplam 12
değişkenine aktardık.
8
$fark = $sayi1-$sayi2; // Çıkardık ve sonucu $fark değişkenine aktardık.
$carpim = $sayi1*$sayi2; // çarptık ve sonucu $carpim değişkenine aktardık. 20
$bolum = $sayi1/$sayi2; // böldük ve sonucu $bolum değişkenine aktardık.
$bolum_kalan = $sayi1%$sayi2; // sayi1’in sayi2’ye bölümünden kalanı 5
// bulduk ve sonucu $bolum_kalan değişkenine aktardık. 0
echo $toplam; // toplamlarını yazdırdık.
echo "<BR>"; // bir alt satıra geçtik.
echo $fark; // farklarını yazdırdık.
echo "<BR>"; // bir alt satıra geçtik.
echo $carpim; // çarpımlarını yazdırdık.
echo "<BR>"; // bir alt satıra geçtik.
echo $bolum; // bölümlerini yazdırdık.
echo "<BR>"; // bir alt satıra geçtik.
echo $bolum_kalan; // bölümden kalanı yazdırdık.
?>
22.02.2011 http://www.gokhandokuyucu.com 41
String Operatörleri
Temel matematiksel işlemlerin yapılmasında kullanılan operatörlerdir.
22.02.2011 http://www.gokhandokuyucu.com 42
Bileşik Atama Operatörleri
İki değişken arasında yapılan işlem ve atamaları tek operatörle
gerçekleştirmek için kullanılır.
+= $a +=$b $a=$a + $b
-= $a -=$b $a=$a - $b
*= $a *=$b $a=$a * $b
/= $a /=$b $a=$a / $b
22.02.2011 http://www.gokhandokuyucu.com 43
Artırma ve Azaltma Operatörleri
Artırma ve azaltma operatörlerini iki farklı şekilde kullanabiliriz.
22.02.2011 http://www.gokhandokuyucu.com 44
Önden Artırma veya Azaltma
++$a veya - -- $a şeklinde kullanılır. Herhangi bir işlem yapılmadan önce
değişkenin değeri bir artırılır veya azaltılır.
22.02.2011 http://www.gokhandokuyucu.com 45
Arkadan Artırma veya Azaltma
$a++ veya $a-- şeklinde kullanılır. Herhangi bir işlem yapıldıktan sonra
değişkenin değeri bir artırılır veya azaltılır.
22.02.2011 http://www.gokhandokuyucu.com 47
Mantıksal Operatörler
Mantıksal operatörler, çoklu mantıksal sorgular yapmakta kullanılır.
22.02.2011 http://www.gokhandokuyucu.com 48
UYGULAMA FAALİYETİ
İşlem Basamakları Öneriler
İki adet integer tipindeki değişken Değişken atamasına bakınız.
tanımlayıp bu değişkenlere 80 ve 5 değerlerini
atayınız.
Bu iki değişken arasında aritmetik 4 işlemi Aritmetik operatörleri kullanınız. Echo komutunu
(toplama, çıkarma, çarpma,bölme) yapınız ve kullanınız.
sonuçları ekrana yazdırınız
Taban genişliği ve yüksekliği belli olan bir üçgenin Üçgenin alanı formülü =
alanını hesaplayan programı yazınız. Taban genişliği*yükseklik/2
22.02.2011 http://www.gokhandokuyucu.com 49
UYGULAMA FAALİYETİ
İşlem Basamakları Öneriler
Tek boyutlu bir dizinin içine haftanın Alt alta yazdırmak için <BR> tagını
günlerini atayıp, ekrana alt alta kullanınız.
yazdırınız
“pi” adında ve değeri 3.14 olan bir sabit Sabit tanımlama konusundan yardım
tanımlayınız alabilirsiniz.
Yarıçapı 3 cm olan bir çemberin alanını Çemberin alan formülü=
bulunuz. Pi sayısı * çemberin yarıçapının karesi
İnteger tipinde bir değişken tanımlayıp Atama operatörünü kullanınız.
10 değerini atayınız.
10 sayısını birer birer azaltıp her Azaltma operatörünü kullanınız. Alt
azaltmada ekrana değerini alt alta satıra geçmek için <BR> tagını
yazdırınız. kullanınız.
22.02.2011 http://www.gokhandokuyucu.com 50
UYGULAMA FAALİYETİ
İşlem Basamakları Öneriler
İki boyutlu bir dizi tanımlayınız İki boyutlu dizi örneğine bakınız.
22.02.2011 http://www.gokhandokuyucu.com 51
ÖLÇME VE DEĞERLENDİRME
A-OBJEKTİF TESTLER(ÖLÇME SORULARI)
22.02.2011 http://www.gokhandokuyucu.com 52
ÖLÇME VE DEĞERLENDİRME
A-OBJEKTİF TESTLER(ÖLÇME SORULARI)
22.02.2011 http://www.gokhandokuyucu.com 53
ÖLÇME VE DEĞERLENDİRME
A-OBJEKTİF TESTLER(ÖLÇME SORULARI)
22.02.2011 http://www.gokhandokuyucu.com 54
ÖLÇME VE DEĞERLENDİRME
A-OBJEKTİF TESTLER(ÖLÇME SORULARI)
22.02.2011 http://www.gokhandokuyucu.com 55
ÖLÇME VE DEĞERLENDİRME
A-OBJEKTİF TESTLER(ÖLÇME SORULARI)
22.02.2011 http://www.gokhandokuyucu.com 56
Ö’#($&#’ !")’"%&"(
PHP: Hypertext Preprocessor
(http://www.phpdefteri.com)
Wikipedia (http://tr.wikipedia.org/wiki/PHP)
W3Schools (http://www.w3shools.com)
Sunumlar için:
VGokhan (http://www.gokhandokuyucu.com)
22.02.2011 http://www.gokhandokuyucu.com 57