PHP H YPERTEXT P REPROCESSOR Özcan ÇAĞIRICI 06104441 CSE341 Programming Languages Özcan ÇAĞIRICI.

Slides:



Advertisements
Benzer bir sunumlar
PHP VE MYSQL.
Advertisements

PHP ile Lab Örnekleri Lab Çalışması.
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
JavaScript Birinci Hafta.
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
PHP-MySQL ile Profesyonel Web Programlama
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
İnternet Programcılığı
C Programlama Diline Giriş
Visual Basic 6.0 Ders Notları
PHP ve MySQL Web Yazılımı Gülin ÜTEBAY Bilgisayar Mühendisi
Javascript Oğuz İNAL.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
Öğrt.Gör.Dr. Ahmet Cengizhan Dirican GYTE – Bilgisayar Mühendisliği
SQL de Değişken Tanımlama
Dizi (array) değişkenleri
Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
PHP'de formdan gelen bilgileri almak için $_GET ve $_POST değişkenleri kullanılır
PHP’ ye Giriş Ali DELİCE Bircan ÇİÇEKDEŞ Mustafa İlker ALAGÖZ.
Çerez(Cookie) Kullanımı Oturum Yönetimi
Öğr.Gör.Şükrü KAYA.  PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı,
Php Form İşlemleri.
Diziler.
MySQL, SQL ve PHP Öğr.Gör.Şükrü KAYA.
Erişim Denetimi, Fonksiyon
PHP 4’ün Yenilikleri VIII. “Türkiye’de İnternet” Konferansı İstanbul, Aralık 2002 Hidayet Doğan.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İnternet Programcılığı II
VIEW (BAKIŞ) OLUŞTURMA
İnternet Programcılığı II
Kabuk ve Kısayollar BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
ÇOK BOYUTLU DİZİLER.
SQL de Değişken Tanımlama
WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk.
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
İnternet Programcılığı II
PHP ve MYSQL Veritabanı Sunucusu
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
INTERNET TABANLI PROGRAMLAMA
WEB PROGRAMLAMA PHP Temelleri Dr. Erman Yükseltürk.
JAVA’DA DÖNGÜLER.
Kalıtım , Sınıf Asli Ergün.
İnternet Programcılığı II
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PHP.
JAVA’DA DİZİLER Dr.Galip AYDIN.
PHP’ye Giriş Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan.
İKMAP İnternet 1 Ders Notu
Göğüşhan KILIÇ twitter.com/gogushan_kilic PHP’ye Giriş OLMAYA HAZIR MIYIZ?
Göğüşhan KILIÇ twitter.com/gogushan_kilic OLMAYA HAZIR MIYIZ?
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
PHP.
İnternet Programlama-I
PHP ve MYSQL.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Web Teknolojileri Hafta İçerik  Temel Kavramlar  PHP’ye Giriş  Web Sunucusu (XAMPP) Kurulumu  PHP Temel Komutları 2.
GYTE Programlama dilleri Can GÜLŞE PHP Parser Hypertext Preprocessor.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
PHP ve HTML İnternet Programlama - 2. Koşullu İfadeler ve Döngüler Döngü ya da çevirim diyebileceğimiz, belli şart ve koşullarda istenilen değerleri yapabilmemizi.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
PHP'de Program Denetimi
PHP Programlama Dili GİRİŞ.
C Programlama Dili Bilgisayar Mühendisliği.
İNTERNET PROGRAMCILIĞI 2
Bilgisayar Bilimi Fonksiyonlar-2.
İNTERNET PROGRAMCILIĞI 2
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Sunum transkripti:

PHP H YPERTEXT P REPROCESSOR Özcan ÇAĞIRICI CSE341 Programming Languages Özcan ÇAĞIRICI

İ Ç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

İ ÇERIK Fonksiyonlar Diziler Stringler Class ve Object Formlar PHP ve mySQL Çerezler İleri Düzey PHP konuları Sonuçlar Özcan ÇAĞIRICI

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

Ç ALıŞMA P RENSIBI Özcan ÇAĞIRICI

Ç 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

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 şu an için son sürüm olup, 2009 yılının ilk çeyreğinde PHP 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

PHP’ NIN T ARIHI Özcan ÇAĞIRICI

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

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

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

İ LK PHP ÖRNEĞI My First PHP Page <?php echo “ Hello World! "; ?> Özcan ÇAĞIRICI

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

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

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 Özcan ÇAĞIRICI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ç 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

Ç EREZLER <?php $firstvisit = !isset($_COOKIE['beenherebefore']); if ($firstvisit) setcookie('beenherebefore','yes'); ?> <?php if ($firstvisit) echo "Hello"; else echo "Welcome back"; ?> Özcan ÇAĞIRICI

İ 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

İ 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

İ 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

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

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