Geldi gelecek derken yeni versiyon PHP nin kullanılabilir hale geldiği son sürümü "PHP 5 Release Candidate 3" php.net'te yayınlandı.
Hali hazırda profesyonel projelerde kullanılması tavsiye edilmemesine karşın birçok eksiği kapanmış bugları temizlenmiş bir şekilde kullanıma hazır gelen Php 5' in tam sürümünün ne zaman yayınlanacağı ise şu an için belirsiz. Tam sürüme yakın olması nedeniyle Php 5 e kısaca bir göz atmak ve yeni versiyonun bize neler getireceğine beraber göz atalım istedim.
Php 5 in getirdiği en büyük kolaylık nesne yönelimine önem vermesi. Nesne yönelimli çalışmayı kolaylaştırmak nedeniyle eklenen birçok class neticesinde Php kullanımını c/c++ gibi algılayanlar bile olabilir. Nesne yönelimine önem vermenin amaçlarından biri kolaylık olmasının yanında diğer amacın da profesyonel ya da diger bir deyişle geniş ölçekli projelerde de kullanımını arttırmak olarak düşünülebilir.
Php 5 itibariyle kullanımı mümkün olan önemli eklentilerden biri Zend Engine II. Zend engine II' yle birlikte nesnelere yeni bir tarz kazandırılması amaçlanmış. Daha öncesinde bir nesne bir degişkene atandığında sahip olduğu tüm değerler aktarılabiliyordu. Zend Engine II ile birlikte ise nesnelerle değil nesneleri temsil eden ID' lerle işlem yapılmakta. Bu özellik C# dilini ve ref bilenlere tanıdık gelebilir. Ayrıca private üyeler konusunda da getirilen bir yenilikle, private üyeler üzerinde işlem yapılmasına izin verilmemekte eğer böyle bir işlem yapılırsa da hata uyarısı vermemekte. Hata vermemesinin sebebi ise tamamıyle performans amaçlı.
XML desteği için eklenen yeni fonksiyonlarla birlikte XML için tam uyumlu hale gelen PHP 5 bu yönüyle de büyük bir artı değer katmış oluyor. Xmlsoft tarafından geliştiren gnome uygulaması Libxml2' i yeni versiyona dahil eden Php, bu yenilikle birlikte XML' e yönelik artan ilgiyi yakalamış ve rakiplerine göre bir avantaj sağlamış oluyor.
Xml desteği için eklenen bir diğer method ise SimpleXml. Simplexml metodu sayesinde bir xml dosyasından veri okumayı normal bir dosyadan veri okumak kadar basit hale indirgeyen SimpleXml methodunun kullanımı da gayet kolay. SimpleXml yeniliği beraberinde gelen fonksiyonlarla xml dosyasındaki dataları işlemek neredeyse bir arrayden veri okumak kadar basit.
Yeni nesil Phpyle birlikte yeni versiyon MySql kullanımına da geçiliyor ayrıca. MySqli olarak adlandırılan bu yeni versiyon MySql' in subquery destekliyor olması, kurulan database baglantilarindaki veri alışverişlerinde gzip desteklemesi en büyük artılarından sayılabilir. Ayrıca database bağlantılarında SSL encrypt desteği vermesi ve nesne temelli bir yapıya sahip olması yeni versiyon MySql in taşıdığı diğer özellikler. Mysql'ün yeni versiyonuna SSL encrypt destekleyen bağlantı tipi eklenmesi ve gzip gibi desteklerin gelmesi güvenliğe önem verildiğinin bir göstergesi. Ayrıca önceki versiyonlara göre database' e yollanacak her queryde database connection bilgilerinin tekrar yollanması gerekliliği de bu güvenlik önlemlerinin bir parçası.
Php 5 yeni versiyon MySql olan MySqli' nin yanında bir de SQLite' i beraberinde getiriyor. c librarysini kullanan sqlite 2 terabyte gibi bir kapasitede veri saklamaya imkan veriyor. Rollback ve commit gibi sql server' da kullanımına imkan verilen komutları desteklemesi en büyük artısı. MySql komutların alışmış olmak SQLite kullanmak için dezavantaj gibi görünse de kısa sürede anlaşılabilecek bir syntaxa sahip.
Php 5, is dünyasında karar destek sistemlerine, veri madenciliğine yönelik artan ilginin bir getirisi olarak yeni versiyonda soap desteğini de unutmamış. Soap için tanımlanmış fonksiyonlar yardımıyla programcı açısından datalarla calışmak mümkün olduğunca kolay bir hale getirilmiş. Soap için geliştirilmiş fonksiyonlar yanında eklenen classlar da sistemin OOPyi desteklemesine ne kadar önem verildiğinin bir göstergesi.
Phpnin tamamiyle kullanima acilmasi beklenen versiyonu PHP 5'in yayindan onceki son deneme surumu "Release Candidate 3" yayinlandi. Peki bize ne gibi getirileri olacak yeni versiyon PHP'nin?
Eveeet, Haziran 2004'ten kalma bir haber.
Tarih 18 Ocak 2005, mevcut sürüm 5.0.3...