Bu sayfadaki yazılar
Sayfanın metni
Sayfa 72
Emir 'Skate' Akaydın
Giriş
1997 senesinden beri geliştirilmekte olan PHP dili, 10 yılı aşkın süreçte gün geçtikçe daha popüler ve daha yaygın kullanılan bir dil haline geldi. Özellikle HTML tabanlı web programlamayı hedef alan dilin ASP, CGI, Perl, JSP ve sonrasında ASP.NET dili gibi güçlü rakipleri de oldu (bu rakiplerin bazıları PHP'den daha eskidir). Dilin en büyük avantajlarından biri multi-platform olması yani farklı işletim sistemlerini desteklemesi ve kaynak kodlarının açık gelmesidir.
PHP, büyük ölçüde C, Java ve Perl dillerinin standartlarına uygun olarak geliştirilmiştir. Her ne kadar öncelikli amacı web tabanlı programlamaya yönelikse de, bu dili kullanarak çok daha fazlasını yapmak mümkündür.
Şekil 1.
PHP Dili'nden Nasıl Program Yazılır? Nasıl Çalıştırılır?
PHP dili derleme (compile) gerektirmeyen bir dildir. Bir scripting dili yapısında tasarlanmıştır. Bu dilden bir program yazmak için işletim sistemiyle beraber gelen ya da daha gelişmiş bir text editörü yeterli olacaktır. Yazılan programı ise PHP motoruna parametre olarak verdiğimizde PHP motoru bu programı çalıştıracaktır. Ancak genellikle PHP motoru bu şekilde doğrudan kullanılmaz. Web server'a gerekli tanımlar yapıldıktan sonra web server PHP dilinden yazılmış programın olduğu dosyayı PHP motoruna gönderir ve programın çıktısı web browser ekranından görüntülenir.
Örnekler üzerinden durumu açıklayacak olursak; işletim sistemi Windows, web server IIS, web browser Internet Explorer, text editör ise Notepad olduğunu düşünelim (birçok farklı senaryo kurulabilir).
1. Notepad'i açıp PHP'den programımızı yazıyoruz.
2. "php" uzantısıyla web serverimizin ulaşabileceği bir klasöre dosyayı kaydediyoruz (IIS için örnek:
C:\inetpub\wwwroot\deneme.php).
3. Internet Explorer'ı açarak kendi makine ismimiz/IP'miz ya da lokal isim/IP'yi kullanarak adres çubuğundan dosyaya ulaşıyoruz. 4. Örnek: http://localhost/deneme.php 5. Program çalıştırılıyor ve sonucu browser ekranında görüyoruz.
İlk Program Örnekleri
İlk olarak çok temel seviyede de olsa HTML bilgisine ihtiyaç duyacağız. Bunun için çok basit bir HTML sayfa örneği verelim.
HTML:
<html> <head> <title>Sayfa Basligi</title> </head> <body> Sayfa #çeri#i </body> </html>
Bu yukarıda gördüğünüz sayfa örneği HTML formatındaki bir sayfa için minimum iskelet yapısı sayılabilir. Şimdi "Sayfa İçeriği" yazan kısımda alt alta 1'den 3'e kadar olan sayıları yazalım. Unutmamamız gereken nokta HTML'de alt satıra geçmek için "<br>" komutunu kullanmamız gerekir.
HTML:
<html> <head> <title>Sayfa Basligi</title> </head> <body> l<br> 2<br> 3<br> </body> </html>
Bu sayfanın browserdan göreceğimiz çıktısı alt alta 1, 2, 3 rakamlarıdır. Şimdi 1'den 3'e kadar değil de 1'den 10000'e kadar olan sayıları yazalım. Bu durumda üç yöntemimiz var.
1. Bu iş için adam tutup para vereceğiz kendisine, tek tek yazacak 1'den 10000'e kadar satırları.
2. Herhangi bir programlama dilinden istediğimiz HTML çıktısını veren bir program yazacağız. 3. PHP, JavaScript, VBScript gibi bir scripting diline başvurup işi HTML'in içine bir script bloğu açarak halledeceğiz.
Evet bu işi yapmamızın tek yolu PHP değil. JavaScript, VBScript gibi dillerle de bu işi halledebiliriz. Ancak bu diller ile PHP'nin farkına birazdan değineceğiz. Şimdi PHP ile bu işin nasıl yapıldığını görelim.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 73
PHP:
<html> <head> <title>Sayfa Basligi</title> </head> <body> <?php for($i-l;$i<-10000;$i44) echo $i."<br>"; ?> </body> </html>
Böylelikle klasikleşmiş "Merhaba Dünya" örneğinden önce farklı bir örnek ile yola çıkmış olduk. Bu örnekte şimdilik dikkat etmeniz gereken nokta sayfa içeriğinin yer aldığı bölgeye nasıl bir program bloğu açtığımız konusu. PHP dilinde en yaygın ve doğru kullanım "<?php" ve "?>" tagleridir. Aslında PHP'nin ayarlarında "short tag" kullanımı açık ise "php" kelimesi yazılmadan "<?" ve "?>" şeklinde blok açılıp kapanabilir, hatta başka alternatifler de mevcuttur. Yine de en güvenli ve her durumda çalışacak yöntem "<?php" şeklinde bloğu açıp "?>" ile kapatmaktır. Arada kalan bölge artık HTML değil PHP kodlarımızın yer aldığı bölgedir.
Yukarıda verdiğimiz örnek 1'den 10000'e kadar "i" değişkenini saydıran ve her defasında i'nin değeri ve "<br>" HTML komutunun çıktısını veren bir örnektir.
PHP ile JavaScript/VBScript'in Farkı
Temelde PHP de JavaScript ve VBScript de birer scripting dilidir.
Scripting kavramını kısaca açıklamak gerekirse, bir programın çekirdeğine eklenti olan ve projeyi yeniden derlemeden kolayca değiştirilebilen program parçalarına denir. Örneğin bazı bilgisayar oyunları son kullanıcıya ulaştıktan sonra yeni bölümler programın exesi değiştirilmeden yalnızca scriptler eklenerek oyuna ilave edilebilir. Hatta son kullanıcıya şahsen müdahale hakkı bile tanınabilir. Benzer biçimde birçok IRC programı (örneğin mIRC), kullanıcıya chat serverlarında ve chat odalarında yapmak istedikleri şeyleri programlayabilmeleri için scripting desteğiyle gelirler.
Az önce verdiğimiz 1'den 10000'e kadar sayı saydırıp ekrana yazdırma örneğinin PHP haricinde JavaScript ve VBScript ile de yapılabileceğinden bahsetmiştik. Örnekleri aşağıda yer almaktadır.
JavaScript:
<html> <head> <title>Sayfa Basligi</title> </head> <body> <script type-"text/javascript"> document .write(it"<br>"); </seript> </body> </html>
VBScript:
<html> <head> <title>Sayfa Basligi</title> </head> <body> <script type-"text/vbscript"> For i 41 To 10000 document .writeli Next </seript> </body> </html>
&
Bu iki script PHP'den yapmış olduğumuz örnekle aynı sonucu verirler. Ancak çalışma yapıları arasında PHP'ye kıyasla çok büyük farklılıklar yer almaktadır. Çünkü JavaScript ve VBScript bu şekilde kullanıldıklarında istemci tarafında (client-side) çalışırlar. Kısacası web server, web browser'a bir çıktı verdiğinde bu scriptler de çıktının içinde olduğu gibi yer alır ve browser sayfayı göstermek istediği anda çalıştırılarak sonuç üretirler. PHP'de ise her şey sunucu tarafındadır (server-side). PHP scripti sunucuda çalıştırılır ve çıktısı web browser'a gelir.
Şekil 3.
Bunlardan
Hangisi daha iyi sonuç verir?