Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanUmut Derici Değiştirilmiş 8 yıl önce
1
PHP H YPERTEXT P REPROCESSOR Özcan ÇAĞIRICI 06104441 CSE341 Programming Languages Özcan ÇAĞIRICI
2
İ ÇERIK PHP nedir ? Çalışma Prensibi PHP’nin Tarihi Neden PHP ? Yazım Kuralları Tipler Değişkenler Sabitler Kontrol Yapıları Özcan ÇAĞIRICI
3
İ ÇERIK Fonksiyonlar Diziler Stringler Class ve Object Formlar PHP ve mySQL Çerezler İleri Düzey PHP konuları Sonuçlar Özcan ÇAĞIRICI
4
PHP N EDIR ? PHP: Hypertext Processor (or Personal Home Page) PHP, Web tabanlı yazılımları geliştirmek için tasarlanmış bir programlama dilidir. Kaynak kodu ücretsiz elde edilebilir. Çalışma mantığı sunucu taraflıdır. Birçok işletim sistemi üzerinde çalışabilir: Linux, Windows, MacOSX, Solaris, Unix, Netware Veri tabanına erişim (özellikle mysql) Özcan ÇAĞIRICI
5
Ç ALıŞMA P RENSIBI Özcan ÇAĞIRICI
6
Ç ALıŞMA P RENSIBI PHP uzantılı dosyalarda PHP derleyicilerinin çağrılması gerekir. PHP derleyici, kendine ulaşan metin dosyasının içinde arasındaki PHP kodlarını ise seçip alır ve istenen/gereği neyse onu yapar. Bu ayıraçların içinde kalan kodlar, bizim yapılmasını istediğimiz işlemin komutlarıdır. Özcan ÇAĞIRICI
7
PHP’ NIN T ARIHI PHP, 1993 yılında Rasmus Lerdorf tarafından P ersonal H ome P ages adıyla yazılmıştır.1993 Kaynak kodları 1995 senesi içinde yayınlamıştır. PHP 5.2.8 şu an için son sürüm olup, 2009 yılının ilk çeyreğinde PHP 5.3.0 sürümünün yayınlanması beklenmektedir. 2007’nin Temmuz ayından itibaren dünya çapında 21 milyondan daha fazla alanda kullanılmaktadır. Özcan ÇAĞIRICI
8
PHP’ NIN T ARIHI Özcan ÇAĞIRICI
9
N EDEN PHP ? Ücretsizdir. Kaynak kodu açıktır. Birçok işletim sistemi ve web sunucusu üzerinde çalışabilir. Web sunucusu üzerinde az hafıza kullanır. Yazım kuralları, öğrenimi kolaydır (C ve Perl dillerine benzer). Eklentileri ve yardımcı kütüphaneleri ücretsizdir. Özcan ÇAĞIRICI
10
N EDEN PHP ? Dinamik olarak oluşan grafikler yaratılabilir. Tartışma forumları oluşturulabilir. XML verilerini yorumlanabilir ve oluşturulabilir. İçerik yönetimi yapılabilir. Site içi veya dışı arama motorları yaratılabilir. Özcan ÇAĞIRICI
11
Y AZıM K URALLARı PHP’nin yazım kuralları günümüzde çok popüler olan C, JAVA ve PERL gibi programlama dillerine benzerdir. PHP kodları kendine özel etiketler sayesinde html komutlarının içine gömülür. ve ya Php komutları “;” (noktalı virgül) işaretiyle sonlandırılır. echo,print ve printf : Ekrana yazdırma komutudur. // : Tek satırlık açıklamalar için kullanılır /* ve */ : Birden çok açıklama satırlarında kullanılır. Yorumlayıcı işaretler arasındaki yazıları ve PHP komutlarını dikkate almaz. Özcan ÇAĞIRICI
12
İ LK PHP ÖRNEĞI My First PHP Page <?php echo “ Hello World! "; ?> Özcan ÇAĞIRICI
13
T IPLER PHP’de veri tipler C programalama diline benzerdir. Scalar tipler Boolean Integer Float String Compound tipler Array Object Diğer Tipler Resource, interface …. Özcan ÇAĞIRICI
14
DEĞİŞKENLER PHP’de değişkenler önüne $ simgesi konularak tanımlanır. PHP de değişkenlerin tipleri dinamiktir. PHP değişkenleri büyük ve küçük harf duyarlıdır. Değişkenler harf ve underscore ile başlamak zorundadır. Değişkenlere değer atamak için "=" işareti kullanılır. Özcan ÇAĞIRICI
15
DEĞİŞKENLER Global ve Static Değişkenler Bir fonksiyon sadece içerisinde tanımlanan değişkenlerle çalışabilir. Fonksiyon geriye döndürdükten sonra içindeki tanımlanmış değişkenler ve bunların değerleri yok olurlar. <? global $a; $a = 20; hesapla(); print ($a); function hesapla() { $a = $a * 1000; //$a global olmasaydı buradan değerine ulaşamazdık return $a; } ?> Output 20000 Özcan ÇAĞIRICI
16
S ABITLER Sabitler program boyunca değişmeyen değerlerdir. Bir sabit tanımlandıktan sonra atanana ilk değerini korur, yeni bir değer ataması yapılamaz. Sabitler define() komutu ile tanımlanırlar. Sabitlerin önünde $ bulunmaz. Kullanılış biçimi: define (sabit_adi, deger) <? define (pi_sayisi, 3.14); define (dis_acilar, 360); ?> Özcan ÇAĞIRICI
17
K ONTROL Y APıLARı if, while, for ve switch yapıları C programlama dilindeki gibidir. Örnek : İki sayıdan büyük olanı bulan bir program <? $sayi1 = 5; $sayi2 = 15; if ($sayi1 > $sayi2) { print ("İlk sayı büyük $sayi1"); } else if ($sayi1 < $sayi2) { print ("İkinci sayı büyük $sayi2"); } else { print ("Sayılar eşit $sayi1,$sayi2"); } ?> Özcan ÇAĞIRICI
18
K ONTROL Y APıLARı while döngü yapısı Örnek : 1'den 10'a kadar olan sayıların toplamını bulan bir program. <? $sayac = 0; while ($sayac <= 10) { $sayac ++; $toplam = $toplam + $sayac; } print ($toplam); ?> Özcan ÇAĞIRICI
19
K ONTROL Y APıLARı for döngü yapısı Örnek : 0'dan 10'a kadar olan sayıların toplamını bulan bir program. <? for ($sayac = 0; $sayac <= 10; $sayac ++) { $toplam = $toplam + $sayac; } print ($toplam); ?> Özcan ÇAĞIRICI
20
K ONTROL Y APıLARı PHP ekstra döngü yapısı olan foreach kolaylık sağlar. $people [0]=‘Ali'; $people [1]=‘Veli'; foreach ($people as $person) echo "$person bir örnektir”; Output Ali bir örnektir. Veli bir örnektir. Özcan ÇAĞIRICI
21
F ONKSIYONLAR PHP’de kendi fonksiyonlarınızı tanımlayabilirsiniz. Değişkenler gibi büyük küçük harf duyarlıdır. PHP fonksiyonları henüz thread programlamayı desteklememektedir. Fonksiyon overloading desteklemez. Tanımlaması: function hesapla($deger) { //PHP kodu } Kullanımı $benim_degerim = 5; hesapla($ benim_degerim ); Özcan ÇAĞIRICI
22
F ONKSIYONLAR Fonksiyonlar istediğin tipte geriye bir değer döndürebilir. Fonksiyona parametreleri pass by value ve pass by reference olarak gönderebilirsiniz. Fonksiyonlara parametreler varsayılan olarak pass by value şeklinde gider. Özcan ÇAĞIRICI
23
F ONKSIYONLAR Pass by value <?php function exampleByValue($string) { $string = ‘by value.’; } $variable = ‘variable’; exampleByValue($variable); echo $ variable; ?> Output: variable Pass by refence Parametre başına & işareti konularak referansı gönderilir. <?php function exampleByValue(&$string) { $string = ‘by refence.’; } $variable = ‘variable’; exampleByValue($variable); echo $ variable; ?> Output: by refence Özcan ÇAĞIRICI
24
D IZILER PHP dizileri string ve numaralar ile indekslenebilir. Dizi boyutu statik değildir. Dizi yapısını vector, hashtable, stack gibi kullanabilirsiniz. Özcan ÇAĞIRICI
25
D IZILER Yazım Kuralı <?php $arr = array("foo" => "bar", 12 => true); echo $arr["foo"]; echo $arr[12]; ?> 2 Boyutlu Diziler <?php $arr = array("somearray" => array(6 => 5, 13 => 9, "a" =>42)); echo $arr["somearray"][6]; // 5 echo $arr["somearray"][13]; // 9 echo $arr["somearray"]["a"]; // 42 ?> Özcan ÇAĞIRICI
26
S TRINGLER PHP regular expression destekler. Bir çok string fonksiyonu tanımlıdır. strcmp(str1, str2) İki stringi kıyaslar. (aynı ise 0 döndürür) strlen(str) Stringin uzunluğunu döndürür. Özcan ÇAĞIRICI
27
C LASS VE O BJECT Fonksiyonlar ve değişkenlerden oluşan bir class yapısı tanımlayabilirsiniz. PHP 5 ve üzeri sürümlerde private ve protected değişken ve fonksiyonları tanımlanmıştır. constructor ismi class ismi ile aynı olmak zorundadır. <?php class Daire { var $yaricap; function cevre() { return $this->yaricap * 2 * PI; } function alan() { return $this->yaricap * yaricap * PI; } }; ?> Özcan ÇAĞIRICI
28
C LASS VE O BJECT Object yaratmak için new keyword kullanılır. <?php $myDaire = new Daire; echo $myDaire->alan(); echo $myDaire->cevre(); ?> Özcan ÇAĞIRICI
29
C LASS VE O BJECT Ayrıca PHP 5 ile interface ve multiple inheritance desteklenmiştir. extend keyword kullanılarak classlardan inheritance yapılabilir. Özcan ÇAĞIRICI
30
F ORMLAR GET : Client(İstemci) tarafından gönderilen bilgiler browser adres satırında görüntülenir. Adınız : Soyadınız :....../formyolla.php?ad=“Cuneyt"&soyad=“Ay"&.... Özcan ÇAĞIRICI
31
F ORMLAR POST : Client(İstemci) tarafından gönderilen bilgiler browser adres satırında görüntülenmeden yollanır. Adınız : Soyadınız : formyolla.php Output Cuneyt Özcan ÇAĞIRICI
32
PHP VE MY SQL mysql_connect komutuyla veritabanı sunucusuna IP, kullanıcı adı ve şifre verilerek bağlantı sağlanır. Daha sonra mysql_select_db komutuyla dosyadaki tüm mysql işlemlerinde kullanılacak olan veritabanı tercihi belirtilmiş olur. mysql_query fonksiyonu kullanılarak veritabanına sorgu gönderilir. Özcan ÇAĞIRICI
33
PHP VE MY SQL mysql_numrows sonuç tablosundaki satır sayısını öğrenmek için kullanılır. mysql_fetch_array sonuçları dizi değişkeni olarak alır. PHP dosyalarında tüm veri tabanı işlemlerinde önce veri tabanı sunucusuyla bağlantı kurulmalıdır. Özcan ÇAĞIRICI
34
PHP VE MY SQL mySQL’e bağlanma mysql_connect(“localhost”,”root”,”sifre”); mysql_select_db(“veritabani”); mySQL’e sorgu gönderme $isimler = ”SELECT * FROM ogrenciler”; $sonuc = mysql_query($isimler); while($ogrenci = mysql_fetch_array( $sonuc )){ echo $ ogrenci [“isim”]; echo $ ogrenci [“numara”]; } Özcan ÇAĞIRICI
35
PHP VE MY SQL mySQL’e Kayıt Eklemek $sql = “INSERT INTO ogrenciler (NUMARA, BOLUM, SINIF, ADI, SOYADI) values ('$NOM', '$BOLUM', '$SINIF', '$ADI', '$SOYADI',)"; $sonuc= mysql_query($sql); mySQL’de Kayıt Silmek ve Update $sql=“DELETE FROM ogrenciler WHERE NUMARA='$NUMARA‘ “;$sonuc= mysql_query($sql); $sql = “UPDATE ogrenciler SET SINIF = '$SINIF‘ WHERE NUMARA = $ NUMARA "; $sonuc= mysql_query($sql); Özcan ÇAĞIRICI
36
Ç EREZLER PHP aracılığıyla çerez bırakabilir ve bu çerezleri okuyabilirsiniz. setcookie() fonksiyonu çerez bırakmak için görev yapar. Çerezler betiğinizin herhangi bir çıktısından önce gönderilmelidir. Çerezler bir kere atandı mı, artık $_COOKIE veya $HTTP_COOKIE_VARS dizileri ile sonraki sayfa yüklemesinde erişilebilir olacaktır. Özcan ÇAĞIRICI
37
Ç EREZLER <?php $firstvisit = !isset($_COOKIE['beenherebefore']); if ($firstvisit) setcookie('beenherebefore','yes'); ?> <?php if ($firstvisit) echo "Hello"; else echo "Welcome back"; ?> Özcan ÇAĞIRICI
38
İ LERI D ÜZEY PHP KONULARı Fonksiyon Değişkeni Fonksiyon ismini değişken olarak yapabilirsiniz. <?php function fonkA() { echo " fonkA()\n"; } function fonkB($arg = '') { echo " fonkB()n";} $degisken = ‘fonkA'; $ degisken (); // fonkA() çağrılır. $ degisken = 'bar'; $ degisken ('test'); // fonkB() çağrılır. ?> Özcan ÇAĞIRICI
39
İ LERI D ÜZEY PHP KONULARı Fonksiyondan referans geri döndürme Referans geri döndürmek için fonksiyon tanımlamasında ve atama işleminde & operatoru kullanılmalıdır. <?php function &returns_reference() { return $someref; } $newref =& returns_reference(); ?> Özcan ÇAĞIRICI
40
İ LERI D ÜZEY PHP KONULARı Fonksiyon içinde fonksiyon tanımlama fonkB() direk çağırılamaz. fonkA() çağrıldıktan sonra fonkB()’ye erişim imkan olacaktır. <?php function fonkA() { function fonkB() { ……. } fonkA(); fonkB(); ?> Özcan ÇAĞIRICI
41
S ONUÇLAR JAVA ve C programlama dillerine benzerliğinden dolayı öğrenmesi kolaydır. HTTP session ve CGI parametreleri tanımlamaları kolaydır. Dizi yapısı pratik ve dinamiktir. PHP ile ilgili birçok kaynak Internet üzerinde erişilebilir durumdadır. Özcan ÇAĞIRICI
42
S ONUÇLAR Büyük projelerde tip güvenliği sorun çıkartabilir. Performans ve profesyonel destek için ücretlidir. Windows işletim sistemi üzerinde güvenlik açıkları oluşturabilmektedir. Hata ayıklama cehennem gibidir. Özcan ÇAĞIRICI
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.