PHP Programlama
February 09, 2012 Thursday

GİRİŞ  

Tarihçe

         PHP ilk kez, Rasmus Lerdorf tarafından, sayfasına girenlerin sayısı, sistem bilgileri, kaç kişinin girdiği gibi şeyleri incelemek için 1994 yılında tasarlandı ve ilk kez kendi kişisel sayfalarında kullanıldı. Başkalarının kullanımı için yazılmış olan ilk sürümü ise 1995 başlarında ortaya çıktı ve "Kişisel Sayfa Gereçleri" (Personel HomePage Tools) olarak adlandırıldı. Bu sürümü, kısıtlı sayıda komut anlayan bir yorumlama motoru, kişisel sayfalarda kullanılabilecek çok genel bileşenler ve bir kaç tane makrodan oluşuyordu. Sayaç, ziyaretçi defteri vs... Yorumlayıcı 1995 ortalarında yeniden yazıldı ve PHP/FI Version 2 adını aldı. FI, Rasmus tarafından yazılmış ve form bilgilerini işlemede kullanılan bir başka paketin adından geliyor. (Personel Home Page) Kişisel sayfa gereçlerinin bu form işleyici ile birleştirilip mSQL desteği eklenmesiyle doğan PHP/FI, inanılmaz bir hızla büyümeye başladı ve insanlar ona yeni kodlar eklemeye başladı.

         Herhangi kesin bir istatistik vermek doğru olmaz ama, 1996 sonlarında 15,000'den fazla sitede aktif olarak kullanılıyordu. 1997 sonlarında bu sayı 50,000 'in üzerine çıktı. 1997, PHP gelişiminde yeni bir devir olarak kabul edilebilir. PHP artık Rasmus 'un kişisel projesi olmaktan çıkmış ve bir çok insan tarafından eklentiler yapılmaya başlamıştı. Böylece iş bir takım çalışması ortamına doğru ilerlemeye başladı. Yorumlayıcı, önceki baz alınarak Zeev Suaski ve Andi Gutmans tarafından yeniden kodlandı. İşte bu yorumlayıcı PHP3 'ün temelini oluşturur. Bir kısım PHP/FI'den PHP3 'e aktarıldı ve büyük bir kısım tamamen yeniden kodlanmış oldu.

         Bugün gerek PHP/FI, gerekse PHP3 RedHat Linux, C2's StrongHold Web Server gibi bir kısım ticari ürünle beraber dağıtılmaya başladı. Bir sayı belirtmek gerekirse, NetCraft 'ın tahminlerine göre bugün 150,000 'den fazla sitede kullanılmaktadır.

PHP nedir?

         PHP adını "Personal Home Page tool" kelimelerinin baş harflerinden almıştır. PHP, özellikle dinamik web sayfaları yaratmak amacıyla geliştirilmiş, sunucu tarafında çalışan (ASP tarzı) bir programlama dilidir. Bir ziyaretçi sayfanızına girdiğinde, sunucu PHP komutlarını çalıştırır ve o anda bir HTML çıktısı üretir. Ziyaretçinin bütün görebileceği bu çıktı olur. PHP kodunu göremez. Dinamik sayfa kavramı da buradan gelmektedir. Ziyaretçinin kullandığı tarayıcıya, günün saatine ve akla gelebilecek her türlü değişkene bağlı olarak farklı bir sayfa yaratılıp gönderilebilir. Bu şekilde MyYahoo tarzı, tamamıyla kullanıcıya özel sayfalar yaratmak PHP ile hiç de zor değildir.

Giriş örneği

<html>
<head>
<title>Örnek</title>
</head>
<body>
<?php echo "Merhaba Dünya!"; ?>
</body>
</html>

         Eğer daha önceden Perl ya da C gibi dillerle CGI scripti yazdıysanız, PHP'nin HTML kodunun içine bu kadar basit bir şekilde gömülebildiğine şaşırmışsınızdır. PHP kodu özel başlangıç ve bitiş tagleriyle sınırlandırılır ve bu tagler sayesinde PHP moduna girme ve PHP modundan çıkma imkanınız olur.

PHP ne yapabilir?

         En basit haliyle, PHP, formdan bilgi almak, dinamik sayfa içeriği yaratmak, cookie göndermek ve almak gibi diğer bütün CGI programlarının yaptıklarını yapabilir. PHP'nin belki de en güçlü olduğu ve en çok kendini gösterdiği özelliği, geniş veritabanı desteğidir. Veritabanı kullanan bir site hazırlamak çok kolaylaştırılmıştır. Desteklenen veritabanlarını şöyle sıralayabiliriz:

  • AdabasD

  • Interbase     

  • Solid

  • DBase

  • MsqL

  • Sybase

  • Empress

  • MySQL

  • Velocis

  • FilePro

  • Oracle

  • Unix DBM

  • Informix

  • PostgreSQL

  • Microsoft SQL

         PHP ile adı en çok geçen veritabanı MySQL'dir. Bizim için de öncelik MySQL olacak, örneklerde sıkça MySQL kullanımına rastlayacaksınız. Bütün bu veritabanlarının dışında, ODBC kullanarak Access gibi diğer veritabanlarına da ulaşmanız mümkün.

         PHP aynı zamanda diğer hizmetlerle iletişimi sağlayan IMAP, SNMP, NNTP, POP3 ve hatta HTTP protokollerini destekler. Bütün bu protokollerin dışında soket programlayabilmenizi ve adı geçmeyen diğer protokollerle de iletişim kurabilmenizi sağlar.

Neden PHP?

         Bir çoğunuzun kafasında olduğundan emin olduğumuz soru bu. Neden ASP, ColdFusion, Java değil de PHP? Cevabımız şu, basitlik, veritabanlarıyla mükemmel iletişim ve platformdan bağımsızlık. Tabii bir de, kaynak kodunun açık olması.

         Tabii ki Perl ve benzeri programlar da platformdan bağımsız, ve kaynak kodu açık. Ama Perl size ilk verdiğimiz örnekteki rahatlığı sağlayamaz. HTML kodunun arasına bir tag atıp araya Perl kodu sıkıştıramazsınız. PHP Web'te çalışmak üzere tasarlanmıştır, bir veritabanına bağlanmak ve sorgulama yapmak iki veya üç satır kodla mümkün hale getirilmiştir. PHP özellikle 4.0 versiyonu ile yeni Zend motorunu kullanmaya başlamış, performans üst seviyeye çıkarılmıştır. Daha fazla performans için, PHP'yi Web sunucunuzun bir parçası haline getirebilmeniz dahi mümkün.

         Eğer olay sadece scriptlerin hızını arttırmak olsaydı, PHP tek başına bir çok problemin cevabı olurdu. Ama PHP'nin özellikleri bundan çok daha fazla. Programlama dili basit, veritabanlarına ulaşım kolay ve hızlı, nesne-yönelimli programlama ile tekrar kullanılabilir kodlar yazmak çok kullanışlı.

         PHP ile basit bir geri-bildirim formu yapabilirsiniz, üyeleriniz dileklerini form üzerinden e-mailinize gönderebilirler, veya baştan aşağıya veritabanı ağırlıklı bir doküman yönetim sistemi (Midgard gibi, http://www.midgard-project.org/) oluşturabilirsiniz. Amacınız e-ticaret ise, alışveriş sepetleri (FishCartSQL gibi, http://www.fni.com/fcsql/) yaratabilirsiniz. Yazılım geliştirme hızınızı arttırmak için, Internet üzerindeki hazır kütüphaneleri (PHPLIB gibi, http://phplib.netuse.de/) kullanabilirsiniz.

         Takıldığınız yerlerde soru sormak, son gelişmeleri takip etmek için dünya çapında geniş bir destek gören mailing listlerden faydalanabilir, PHPBuilder.Com (http://www.phpbuilder.com/), Weberdev.Com (http://www.weberdev.com/), PHPWizard.Net (http://www.phpwizard.net/), gibi sitelerde anlatılan dersleri inceleyebilirsiniz.

PHP Neden Bu Kadar Populer?

         PHP internet üzerinde oldukça hızlı yayılan dillerden biri. Yayılma hızı konusunda tek rakibi Java olabilir ki o da artık olgunluk devresini yaşıyor ve PHP ile oldukça farklı platformlarda yarışıyorlar. PHP 1995 yılında ilk kez kullanılmaya başlandığından bu yana epey yol aldı. Öncelikle Linux için yazılış diğer pek çok uygulama gibi C ile yazılmış ve kodunun herkese açık olması oldukça hızlı bir şekilde gelişmesini sağladı. Öyle ki şu anda istediğiniz bir fonksiyonu PHP için yazıp kullanabilirsiniz. 1998 ortalarında yüz bin sunucuya PHP modül olarak kurulu iken bugün bu sayı bir milyonu aşmış durumda ki bu sayının içinde CGI olarak kurulu olan sunucular yok. Ayrıca Microsoft`un ASP`si gibi işletim sistemine bağımlı olmaması ve Windows 95/98/NT, Unix ve Linux türevleri üzerinde çalışabilmesi en büyük avantajı. PHP ile nesneye dayalı programlama (object oriented) yapabilir, yani sınıf ve aile yapılarını kullanabilirsiniz.