PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.net>
PHP Nedir? Genel kullanım amaçlı bir betik/programlama dilidir. Web tabanlı yazılım geliştirme yanı gelişmiştir ve genellikle bu amaçla kullanılır. Betik Dili? İngilizce: Scripting Language Yazılan kod bir yorumlayıcı araçılığı ile çalıştırılır. Perl, PHP, Tcl, Python, JavaScript
PHP'nin Tarihi Rasmus Lerdorf tarafından yazıldı. Kendi web sitesine bağlı olan kişilerin takibini yapmak amaçlı kullandı. İlk sürümü 1995 yılında yayınlandı (PHP/FI). İlk sürümünde sadece form yorumlayabilme, veritabanı işlemleri ve metin düzenleme gibi özellikler içeriyordu. PHP 3: Nesneye yönelik sözdizim desteği. PHP 3: Yeni veritabanı eklentileri ve ek fonksiyonlar. PHP 4: Zend Engine. PHP 4: Birçok web sunucu yazılımına destek. PHP 4: Oturumlar. PHP 4: Çıktı bellekleme (Output buffering). PHP 5: Gerçek nesneye yönelik destek. PHP 5: SQLite eklentisi. PHP 5: Yeni XML eklentisi (SimpleXML). PHP 5: Ortak veritabanı arabirimi. PHP 5: Kural dışı durum işleme (Exception).
Kullanım İstatistikleri Netcraft Nisan 2006 istatistikleri: PHP Kullanan Alan Adı Sayısı: 20.475.056 PHP Kullanan IP Adresi Sayısı: 1.278.828
Kullanım İstatistikleri Lufthansa Yahoo! NASA Hewlett Packard Siemens Air Canada
PHP'nin Özellikleri Kaynak kodu açık ve ücretsizdir. Sunucu taraflı çalışır. HTML içine gömülebilir. Öğrenimi ve yazım kuralları basittir. Geniş işletim sistemi desteği vardır. (Linux, Unix, MS Windows, Mac OS X, RISC OS) Geniş web sunucu yazılımı desteği vardır. (Apache, MS IIS, MS PWS, AOL, Netscape, iplanet) Geniş veritabanı sunucusu/yazılımı desteği vardır. (MySQL, PostgreSQL, Oracle, MS-SQL, IBM DB2) Yaygın kullanımı. İçinde birçok yardımcı fonksiyon içermesi. Eklenti ve hazır kütüphanelerinin olması. Sunucuyu yormaması.
PHP'nin Özellikleri a. Sunucu Taraflı 1. Yazılan kod sunucu tarafında yorumlanır. 2. Çıtkı (HTML) web sunucusuna yönlendirilir. 3. Web sunucusu çıktıyı tarayıcıya yönlendirir.
PHP'nin Özellikleri b. HTML içine gömülebilir PHP kodları HTML içerisinde özel ayraçlar arasında yazılır. PHP Kaynak Kodu: <html> <head> <title>örnek</title> </head> <body> Örnek <?php echo "<b>php</b> betiği...";?> </body> </html> Tarayıcı Çıktısı: Örnek PHP betiği...
PHP ile Neler Yapılabilir? Veritabanı uygulamaları Dinamik olarak grafik, Flash, PDF çıktıları üretmek (JPEG, GIF, PNG, WBMP) Tarayıcıya veya tarihe göre özel işlemler veya içerikler Anket, tartışma forumları, arama motorları, içerik yönetimi Elektronik ticaret uygulamaları WAP uygulamaları Komut satırı uygulamaları, MS Windows uygulamaları
Perl, C, PHP C Kaynak Kodu: #include <stdio.h> #include <sys/time.h> #include <time.h> int main() { struct timeval tarih; gettimeofday(&tarih, NULL); printf("%s\n", ctime(&tarih.tv_sec)); return 1; } Çıktısı: Thu May 11 11:30:00 2006
Perl, C, PHP Perl Kaynak Kodu: #!/usr/bin/perl printf "%s\n", localtime(time); Çıktısı: Thu May 11 11:30:00 2006
Perl, C, PHP PHP Kaynak Kodu: <?=date("r"))?> Çıktısı: Thu, 11 May 2006 11:30:00 +0300
a. Neler Gerekli? Web sunucu yazılımı (Apache, M$ IIS) PHP yorumlayıcı Veritabanı için sunucu yazılımı (MySQL, PostgreSQL) Herhangi bir metin editörü
b. İlk PHP Betiğimiz merhaba.php <html> <head> <title>örnek</title> </head> <body> <?php echo "Merhaba Dünya";?> </body> </html> merhaba.html <html> <head> <title>örnek</title> </head> <body> Merhaba Dünya </body> </html>
c. Yazım Kuralları PHP betikleri <? veya <?php ayraçları ile başlar,?> ayracı ile biter. Satırlar ; işareti ile bitirilir. Metinler " veya ' işaretleri arasına yazılır. Değişken isimleri $ ile başlar. Çift tırnak işareti ile kullanılan metin içindeki özel karakterlerin başına \ işareti eklenir. Betik içerisine açıklama eklemek için her satır başına # veya // işaretleri eklenir ya da açıklama başına /*, sonuna */ işaretleri eknelir.
c. Yazım Kuralları <?php # açıklama 1 // açıklama 2 /* açıklama 3 açıklama 3 devam açıklama 3 devam */ echo "Bu bir örnek \"PHP\" betiği."; echo "Toplam miktar: 100\$.";?>
d. Değişkenler C veya Pascal gibi önceden tanımlanmalarına gerek yoktur. Değişken isimlerinde sadece harfler, rakamlar ve _ işareti kullanılabilir. Değişken isimleri rakam ile başlayamaz. Büyük-küçük harf duyarlıdır.
d. Değişkenler <?php $deneme-bir = 1; // hatalı değişken; değişken isimleri içinde - geçemez $5deneme = 1; // hatalı değişken; değişken isimleri rakam ile başlayamaz $deneme = "bir"; // doğru değişken $deneme = 12; // doğru değişken $deneme = '12'; //doğru değişken?> Değişkenlere değer atamak için = operatörü kullanılır. Verilen değer sayı ise tırnak içine almadan yazılabilir. Verilen değer metin ise tırnak içine alınmalıdır.
e. Veri Türleri Tam Sayılar: $sayi = 5; Ondalıklı Sayılar: $sayi = 1.5; $sayi = 3.14; Metinler: $metin = "Örnek"; Diziler: İçlerinde birden çok eleman barındırabilen değişken türleridir. $dizi = array("bir", "iki"); $dizi = array(1, 2, 3, 4); $dizi[0] = "bir"; $dizi[1] = "iki";
f. Operatörler Operatörler değişkenlere değer atama, karşılaştırma, metin işlemleri, mantıksal işlemler ve matematiksel işlemlerde kullanılır. Matematiksel İşlemler: Toplama + $i = 1 + 2; Çıkarma $i = 2 1; Bölme / $i = 4 / 2; Çarpma * $i = 2 * 2; Modülüs (Bölümden Kalan) % $i = 3 % 2;
f. Operatörler Matematiksel İşlemler: <?php $i = 1 + 2; echo "$i<br>"; $i = 2 1; echo "$i<br>"; $i = 2 * 2; echo "$i<br>"; $i = 4 / 2; echo "$i<br>"; $i = 3 % 2; echo "$i";?> Tarayıcı Çıktısı: 3 1 4 2 1
f. Operatörler Kıyas/Koşul Operatörleri: Şartlı ifadeler ve döngüler içinde koşul belirtmek ya da kıyaslamak amaçlı kullanılır. Eşit == $a == $b Eşit Değil!= $a!= $b Büyük > $a > $b Küçük < $a < $b Büyük Eşit >= $a >= $b Küçük Eşit <= $a <= $b
f. Operatörler Mantıksal İşlem Operatörleri: Genellikle şartlı/koşullu ifadeler içerisinde birden fazla şartı/koşulu belirtmek için kullanılır. Ve and veya && $a and $b, $a && $b Veya or veya $a or $b, $a $b
g. Şartlı/Koşullu İfadeler if else elseif if (koşul1) { işlemler1; } elseif (koşul2) { işlemler2; } else { işlemler3; } 1. Eğer koşul1 gerçekleşirse işlemler1 bölümünü uygula, 2. Gerçekleşmez ve koşul2 gerçekleşirse işlemler2 bölümünü uygula, 3. Her iki koşul gerçekleşmez ise işlemler3 bölümünü uygula.
g. Şartlı/Koşullu İfadeler if else elseif <?php $a = 1; $b = 2; if ($a == $b) { echo "A değeri B'ye eşit"; } elseif ($a > $b) { echo "A değeri B'den büyük"; } else { echo "A değeri B'den farklı"; }?>
h. Döngüler for while Döngüler verilen işlemleri belirli bir sayıda çalıştırmak için kullanılırlar. for (ifade1; koşul; ifade2) { işlemler; } ifade1; while (koşul) { işlemler; ifade2; }
h. Döngüler for while <?php for ($i = 1; $i < 10; $i++) { echo "$i "; } $i = 1; while ($i < 10) { echo "$i "; $i++; }?>
Belgeler & Kaynaklar & Erişim Türkiye PHP Grubu: http://www.php.org.tr Turk-PHP.com: http://www.turk-php.com PHP Dökümanları: http://www.php.web.tr PeHePe.org: http://www.pehepe.org İngilizce Kılavuz: http://www.php.net/manual/en Hidayet Doğan Web Adresi: http://www.hido.net E-Posta: hdogan@hido.net Forum: http://www.php.org.tr/forum (hdogan) MSN: msn@hido.net Google Talk: hdogan@gmail.com