24 Aralık 2010 Cuma

PHP 'nin Tarihçesi


Web geliştiriciler için en önemli dillerden biri olan PHP bu günlere nasıl geldi hiç merak ettiniz mi ? PHP'nin doğuşu 90lı yılların ortalarına denk gelir. Başlangıçta Rasmus Lerdorf 'un kişisel web sitesini yayınlamak için geliştirdiği bu dil perl tabanlı olarak ortaya çıktı. Bir süre sonra da kodların herkese açılmasıyla PHP efsanesi doğmuş oldu.
PHP/FI (Personal HomePage Tools / Form Interpreter)
PHP'nin doğuşu olarak kabul edilen bu sürüm pek çok temel fonksiyondan yoksundu ve Perl betikleri topluluğundan oluşuyordu. Daha fazla fonksiyonellik kazandırmak için Rasmus Lerdorf C dili ile uyarlamalar ekledi. Bu sürümün kodlarını herkese açtı ve bu sayede kullanımı yaygınlaştı. Böylece hatalar daha hızlı farkedilerek çözülmeye başlandı...

PHP/FI 2
C uyarlamalarının yeniden yazılmasıyla PHP/FI 2 olarak anılmaya başladı. Bu sürüm resmi olarak 1997'nin Ekim ayında yayınlandı ve yaklaşık olarak 50.000 alan adı sahibi tarafından kullanıldı. O yıllarda bu rakam internet kullanıcılarının %1'i demekti. Açık kaynak olmasına ve binlerce kişinin katkı sağlıyor olmasına rağmen kontrol hala tam olarak Rasmus Lerdorf'taydı.
Andi Gutmans ve Zeev Suraski üniversite projesi olarak e-ticaret sistemi geliştirmek için bir dil ararken PHP ile karşılaştılar. Ancak PHP/FI 2'nin birçok yaygın dil özelleğinden yoksun ve göründüğü kadar güçlü olamdığını farkettiler. Bunların en ilginçlerinden biri de while döngüsünün uyarlanmasıydı. El yapımı sözcüksel tarayıcı sözcük boyunca ilerliyor ve while’ın anahtar sözcüğüne rastlayınca, kelimenin pozisyonunu dosyada saklıyordu. Döngünün sonunda, dosya işaretçisi kaydedilen pozisyona doğru tekrar aranıyordu ve bütün döngü tekrar okunuyor ve tekrar çalıştırılıyordu.
Bu sebeplerden kısa süre içinde PHP 3 gelmiş oldu.

PHP 3
PHP 3, bugünkü PHP ile benzer olan ilk sürümdür. Andi ve Zeev'in bu betik dilini tekrar yazmaya karar vermesiyle, Rasmus ile bu sürümü çıkarmak için bir ekip oluşturdular. Ayrıca PHP’nin “Personal HomePage Tools (Kişisel Anasayfa Araçları)” olan adını “PHP: Hypertext Preprocessors” olarak değiştirdiler. Çünkü bu artık yeni bir üründü ve bu yeni sürümün sadece kişisel değil herhangi bir amaç doğrultusunda kullanılabileceğini belirten daha iyi bir isim gerekiyordu.
Andi ve Zeev, yeni bir API (Application Programming Interface – Yazılım Programlama Arayüzü) genişletmesi dizayn ederek uyarladılar.. Bu yeni API, eksta genişletmelere (veritabanı iletişimleri, ifade denetleyiciler ve diğer teknolojiler) rahatlıkla destek verilmesini, çekirdek kadroda olmayan geliştiricilerin de rahatlıkla PHP projesine katkıda bulunabilmesini sağladı. Muhtemelen, PHP’nin muazzam başarısının anahtarı da bu oldu.
Artık PHP 3, nesne yönelimli söz dizimini destekleyen, daha güçlü ve tutarlı bir dil söz dizimine sahip olmuştu. 9 aylık herkese açık bir test sonrasında Haziran 1998'de yayınlandı. Yaklaşık olarak internetteki web sunucularının %10'una yüklendi.

PHP 4
Zeev ve Andi betik dilini daha iyi yazabileceklerini düşününce 1998'in sonlarına doğru yeni bir yeniden yazım süreci başlamış oldu. PHP 3'ün betikleri çalıştırırken sürekli inceleme durumuna karşın. PHP 4, " önce derle, sonra çalıştır." modeliyle çalışıyordu. Ayrıca artık PHP 4 'ün yeni bir motoru vardı. Zend motoru ( Zeev ve Andi nin birleşimidir) sayesinde PHP 4' ün performansı PHP 3'e göre daha iyi hale gelmişti. Tüm bu güzel getirilere rağmen geriye dönük uyuyumluluk açısından bir kırılma noktası olmuştu.
Mayıs 2000'de resmi olarak yayınlanan bu sürüm günümüzdeki alan adlarının yaklaşık %20'sinde kullanılmakta. Pek çok yeni ve güzel özellik ile gelen PHP 4 artık çoğu web sunucusuna destek veriyor, kullanıcı oturumları ve çıktı tamponlama konusunda daha güvenli bir işleme sunuyordu.
PHP 3 sürümlerinde ikinci derece sürüm numarası kullanılmadı ve tümü 3.0.x olarak numaralandı. Bu durum PHP 4'te değişti ve ikinci derece sürüm numarası, dilde önemli değişiklikler olduğunu göstermek için kullanıldı. İlk önemli değişiklik, PHP 4.1.0 ile geldi. Bu sürümde, $_GET ve $_POST gibi supergloballer duyuruldu. Supergloballere; fonksiyonlardan, global anahtarı sözcüğü olmadan da erişilebiliniyordu. Bu özelliğin eklenme sebebi, register_globals ayarının kapatılabilmesiydi. Bu ayarın kapatılmak istenmesinin sebebi, insanların kullanıcıdan gelen verileri düzgün kontrol etmemesiydi. Bu da güvenlik açıklarına neden olmaktaydı...
PHP 4.2.0 register_globals'in varsayılan olarak kapalı olduğu şekilde Nisan 2002 'de yayınlandı.
PHP 4.3.0 Aralık 2002'de yayınlandı ve Command Line Interface (CLI) / Komut Satırı Arayüzü, geliştirilmiş bir dosya ve ağ giriş/çıkış katmanı ve paketlenmiş bir GD kütüphanesi bu sürümde sunuldu.
PHP 4.4.0 ise ciddi bir hafıza bozulması probleminden dolayı ortaya çıkmış oldu. Bu hatanın giderilmesini sağlayan düzeltme, PHP dahili API'sinin değiştirilmesine ve PHP 4.3.x ile olan ikilik(binary) uyumluluğunun kırılmasına sebep oluyordu. Bu yüzden bütün ikilik genişleme modüllerinin bu sürümle çalışması için tekrar derlenmesi gerekiyordu.
PHP 4 sonrası PHP 5 çıkmış olsada ve hatta PHP 6'nın geleceği duyurulsada, Bu sürüm hala en çok kullanılanlardan biridir. PHP 5'e neden hala tam olarak adapte olunamadığı birçok sitede hala tartışılmaktadır.

PHP 5
PHP 5, günümüzdeki en son sürümdür. PHP 5, Zend Motorunun nesne yönelimli bölümünün geliştirilerek yeniden yazılması sonucu doğmuş oldu. Yeni motor Zend 2 olarak adlandırıldı. Zend motorundaki geliştirmeler sadece nesne yönelimli kısım üzerine olmadı. XML fonksiyonelliği de tekrar yazılarak SimpeXML eklentisi ile kolaylıkla XML dosyalarını işleme yeteneği kazandırıldı. Hata yönetimi için Exception Handling kavramı getirildi böylece genişletilebilir, bakımı yapılabilir ve nesne yönelimli şekilde gerçekleşmesi sağlandı. Tüm bunların yanı sıra başta MySQL ve SOAP olmak üzere diğer pek çok eklenti PHP 'nin ek teknolojilere verdiği desteğin kilometre taşlarıdır.

Hiç yorum yok:

Yorum Gönder