PHP Tarihçesi

PHPPHP, bugünlerine kolay gelmedi. Web’i güçlendiren en önemli dillerden birini geliştirmek ve büyütmek kolay bir iş değil. PHP ile ilgilenenlerin, PHP hakkında daha ayrıntılı fikirlere, daha önceden bilmediği bazı ekstra bilgilere ulaşacağını ümit ettiğim; PHP’ye başlamamış kişilerinse öğrenmeye çalıştıkları bu dilin geçmişini bilmelerinin, onlara dili öğrenirken önemli faydalar sağlayacağını düşünüyorum. Şimdi PHP’nin nasıl ortaya atıldığını ve günümüze nasıl geldiğini inceleyelim…

PHP’nin sürüm sürüm tarihçesi

  • PHP/FI (Personal HomePage Tools / Form Interpreter)
  • PHP’nin doğuşu bu ilk sürümle olmuştur. 1995 yılında Rasmus Lerdorf, kendi çevrimiçi (online) özgeçmişine gelenleri takip etmek için basit Perl betikleri topluluğundan oluşan bir sistem yazdı. Bu betik topluluğuna “Personal HomePage Tools” olarak adlandırdı. Ama daha fazla fonksiyonellik gerektiği için (dinamik web uygulamaları yazmayı sağlamak, veritabanı iletişimini sağlamak gibi…) C dili ile uyarlamalar ekledi. Rasmus, bu sürümün kodlarını herkese açtı. Böylece isteyen herkes kullanabilecek ve hatalar daha hızlı farkedilip, çözülebilecekti.

    PHP/FI basit fonksiyonelliklere, Perl benzeri değişkenlere, HTML’e gömülmüş söz dizimlerinin (HTML embedded syntax) ve form değişkenlerinin otomatik olarak yorumlanması gibi özelliklere sahipti ama basitti, sınırlıydı, bazı uyuşmazlıklar vardı, “for döngüsü” gibi bazı genel dil özelliklerinden yoksundu. Bunlar önemli sorunlardı ama çözülemeyecek değildi. Bu sürümün arkasında PHP/FI 2 geliştirildi.

    Rasmus’un PHP/FI duyurusuna ulaşmak için tıklayınız…

    Bu ilk versiyonu görmek ve denemek istiyorsanız tıklayınız…

  • PHP/FI 2
  • 1997 yılında, C uyarlamalarının yeniden yazılışı PHP/FI 2 olarak adlandırıldı. Bu sürüm dünya çapında tahmini binlerce kişi tarafından farkedildi ve yaklaşık 50.000 alan adı sahibi PHP/FI 2 kullandığını bildirdi. O zamanlar için bu rakamın yaklaşık olarak internetin %1′ine denk geliyordu. Ama birçok kişinin katkıda bulunduğu bu büyük proje, hala sadece Rasmus’un kontrolündeydi.

    PHP/FI 2, resmi olarak Ekim 1997 yayınlandı. Bu sıralarda, üniversite projesi olarak e-ticaret sistemi geliştirmek için bir dil arayan Andi Gutmans ve Zeev Suraski, PHP/FI 2′ye rastladılar ama PHP/FI 2′nin göründüğü kadar güçlü olmadığını ve birçok yaygın dil özelliğini barındırmadığı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.

    Belki de bu gibi eksiklikler, PHP/FI 2′nin resmi yayınından kısa süre sonra, PHP 3′ün alfa sürümlerinin bu eski sürümün yerini almaya başlamasına sebep oldu.

    Rasmus’un PHP/FI 2 duyurusuna ulaşmak için tıklayınız…

    PHP/FI 2′yi denemek istiyorsanız tıklayınız…

  • PHP 3
  • PHP 3, bugünkü PHP’ye yaklaşan ilk sürüm. Andi ve Zeev, bu betik dilini tekrar yazmaya karar verince, Rasmus ile bu sürümü çıkarmak için 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.

    PHP 3′ün en önemli güçlü yanlarından biri esneklik özellikleri. Andi ve Zeev, yeni bir API (Application Programming Interface – Yazılım Programlama Arayüzü) genişletmesi dizayn ettiler ve 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.

    Bunun yanında PHP 3, nesne yönelimli söz dizimini destekleyen, daha güçlü ve tutarlı bir dil söz dizimine sahipti. 9 aylık herkese açık testten sonra Haziran 1998′te yayınlanan PHP 3, yaklaşık olarak internetteki web sunucularının %10′una yüklendi.

    PHP Geliştirme Ekibi’nin PHP 3 duyurusuna ulaşmak için tıklayınız…

    PHP 3′ü denemek istiyorsanız tıklayınız…

  • PHP 4
  • 1998′in sonlarına doğru, Zeev ve Andi betik dilini daha iyi yazabileceklerini düşündüler ve başka bir yeniden yazıma geçtiler. PHP 3, betikleri çalıştırırken bir yandan sürekli inceliyordu. PHP 4, yeni bir modelle geldi : ” Önce derle, sonra çalıştır.”. Derleme basamağı, PHP betiğini makina koduna derlemeyip, onun yerine bayt koda derliyor. Sonra bu bayt kod, PHP 4′ün yeni kalbi olan Zend Motoru ( Zend -> Zeev & Andi ) tarafından çalıştırılıyor. Bu yeni betik çalıştırma yolu sayesinde, PHP 4′ün performansı PHP 3′ten daha iyi hale geldi. Ama bu, ufak bir miktar geriye dönük uyumlulukta kırılmaya sebep oldu.

    PHP 4′ün diğer yeni özellikleri; birçok web sunucusuna destek vermesi, HTTP oturumları, çıktı tamponlama, kullanıcı girişlerini daha güvenli bir biçimde işleme ve birçok yeni dil yapısıydı. Mayıs 2000′de resmi olarak yayınlanan PHP, günümüzdeki alan adlarının yaklaşık %20’sinde kullanılıyor.

    PHP 3′te, ikinci derece sürüm numarası kullanılmadı ve bütün sürümler 3.0.x olarak numaralandı. Bu, 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ı.

    Supergloballerin yerleştirilmesiyle, artık register_globals kapatılabilirdi ve 22 Nisan 2002′de PHP 4.2.0, bu ayarın varsayılan olarak kapalı olduğu bir şekilde yayınlandı.

    Daha sonra PHP 4.3.0 , 27 Aralık 2002′de yayınlandı. Command Line Interface (CLI) – Komut Satırı Arayüzü -, geliştirilmiş bir dosya ve ağ giriş/çıkış katmanı ( streams – akışlar – olarak isimlendirilir.) ve paketlenmiş bir GD kütüphanesi bu sürümde sunuldu.

    PHP 4.4.0 ise ciddi bir hafıza bozulması probleminden dolayı yayınlandı. İkinci dereceden sürüm numarasının artma sebebi ise, bu hatanın giderilmesini sağlayan düzeltme, PHP dahili API’si değiştirilmesine ve PHP 4.3.x ile olan ikilik(binary) uyumluluğunun kırılmasına sebep oluyordu. Bunun anlamı, bütün ikilik genişleme modüllerinin bu sürümle çalışması için tekrar derlenmesi gerekiyordu.

    PHP 4′ün üzerine PHP 5 gelmiş olsa bile ve hatta PHP 6′nın geleceği duyurulsa da, PHP 4 hala en çok kullanılan PHP sürümlerinden biridir. PHP 5′e neden hala tam olarak adapte olunamadığı ise birçok sitede hala tartışılmaktadır.

    PHP4′ün son sürümünü indirmek için tıklayınız…

  • PHP 5
  • PHP 5, PHP’nin günümüzdeki en son sürümü. Nesne yönelimli özelliklerin geliştirilmesi için Andi, Zend Motoru’nun nesne yönelimiyle ilgili bölümü tekrar yazma fikrini ortaya attı. Böylece PHP 5′in kalbi “Zend Motoru 2 ( Zend Engine 2)” oluşturuldu. Sadece nesne yönelimi üzerine gelişimler olmadı. XML fonksiyonelliği tekrar yazıldı. Özellikle SimpleXML eklentisi, kolaylıkla XML dökümanlarını işleme yeteneği kazandırdı. Hata yönetiminin genişletilebilir, bakımı yapılabilir ve nesne yönelimli bir şekilde gerçekleştirilmesini sağlayan “İstisna Yönetimi (Exception Handling)” kavramı getirildi. Bunların yanısıra, yeni SOAP,MySQLi ve diğer birçok eklenti; PHP’nin ek teknolojilere verdiği desteğin kilometre taşlarıdır.

    PHP 5′i son sürümünü indirmek için tıklayınız…

    “Zend Motoru 2 (Zend Engine 2)” hakkında daha detaylı bilgi için (İngilizce) tıklayınız…

Kaynaklar

  1. Andi Gutmans, Stig Sæther Bakken, Derick Rethans. PHP 5 Power Programming. Prentice Hall PTR
  2. Luke Welling, Laura Thomson. PHP ve MySQL. Alfa Yayınları
  3. PHP Manual -> Appendices -> Appendix A. History of PHP and related projects
  4. Zend Motoru 2 Dökümanı
Continue reading » · Written on: 04-15-07 · 8 Comments »

8 Responses to “PHP Tarihçesi”

  1. shapcy wrote:

    PHP Nedir diye başladığım makale, tarihçeyi de yazmaya başlayınca çok uzun oldu. Ondan dolayı başlangıç olarak tarihçe makalesini yayınlıyorum. Daha sonra diğer makalelerle birleştireceğim. Bundan dolayı gördüğünüz eksiklikleri, anlaşılmayan yerleri ve herhangi bir noktası konusundaki olumlu, olumsuz görüşlerinizi (sadece makale hakkında değil, PHP’nin gelişimi hakkındaki görüşlerinizi de) paylaşırsanız oluşturalacak geniş makaleye büyük katkıda bulunmuş olursunuz.

    Şimdiden hepinize teşekkürler…

    April 15th, 2007 at 16:03
  2. Alihan ÇETIN wrote:

    PHP 5′e neden hala tam olarak adapte olunamadığı ise birçok sitede hala tartışılmaktadır

    Bence bunun en önemli sebebi, sözde web programcılarının aslında ne derece kolaya kaçtıklarıdır. PHP5, PHP programlama diline OOP (Nesne Yönelimli Programlama) yi adeta zerk ederek , PHP nin en ciddi web programlama diline dönüşmesini sağlamıştır.
    Aynı zamanda PHP nin bu son sürümü , üstesinden gelen web programcısının ufkunu genişletmekte ve diğer nesne yönelimli programlama dillerini kolayca kavrayabilmesini ve adapte olabilmesini sağlamaktadır.Bu özellik , geleceğin popüler programlama dili olacağı düşünülen PHYTON a geçişte de kolaylık sağlayacaktır.

    April 16th, 2007 at 01:49
  3. 100puan.com wrote:

    PHP Tarihçesi

    PHP, bugünlerine kolay gelmedi. Web’i güçlendiren en önemli dillerden birini geliştirmek ve büyütmek kolay bir iş değil. PHP ile ilgilenenlerin, PHP hakkında daha ayrıntılı fikirlere, daha önceden bilmediği bazı ekstra bilgilere ulaşa…

    June 17th, 2007 at 04:49
  4. oyyla.com wrote:

    PHP Tarihçesi

    PHP, bugünlerine kolay gelmedi. Web’i güçlendiren en önemli dillerden birini geliştirmek ve büyütmek kolay bir iş değil. PHP ile ilgilenenlerin, PHP hakkında daha ayrıntılı fikirlere, daha önceden bilmediği bazı ekstra bilgilere ulaşa…

    June 17th, 2007 at 04:53
  5. eyup wrote:

    slm ben iyi bir bilgisayar kullanıcısı değilim ama site kurmak istiyorum arama motoruna girdim ve bu siteyi inceledim bence php nin tarihçesi hiçbir işe yaramaz bence bunun yerine ne işe yaradığını vs. yazın ve yeni başlayanlara yönelin (site kurmak hakkında)bu arada bana site kurmak hakkında kitap önerebilir misiniz? teşekkür ederim…

    August 2nd, 2007 at 22:24
  6. shapcy wrote:

    Görüşünüze saygı duyuyorum ama bence bir dilin nereden nereye geliştiğini öğrenmek, hangi adımların izlendiğini bilmek, nasıl bu kadar popüler bir dil haline geldiğini görmek o dil ile bir bağ kurmanızı sağlar. Eğer bir dil öğreniyorsanız, öğrenmek istiyorsanız bence o dil ile ilgili her konu sizin dikkatinizi çekmeli.

    Yeni başlayanlara yönelik yazılar da zaman buldukça yazmaya çalışıyorum. Bazıları taslak halinde ;)

    Tavsiye ettiğim kitap ise:
    Alfa Yayınları – PHP ve MySQL

    August 6th, 2007 at 21:43
  7. Özkan Özcan wrote:

    PHP tarihçesi hoş bir giriş olmuş. Elinize klavyenize bilginize sağlık.

    September 19th, 2007 at 15:21
  8. shapcy wrote:

    Teşekkürler ;)

    September 19th, 2007 at 16:23

Leave a Reply