PHP/Genel bilgiler
Kısa tarihi
değiştirAçılımı Personal Home Page (Kişisel Web Sayfası) olan PHP, ilk kez Rasmus Lerdorf tarafından, web sayfalarını ziyaret edenleri izlemek amacıyla bir dizi Perl Script (betik) kullanılarak geliştirilmişti. İnsanlar kısa zamanda bununla ilgilenmeye ve bu konuyla ilgili sorular sormaya başladıklarında, Rasmus kararını verdi ve bir betik motoru oluşturdu. Ayrıca formlara da destek verdi ve böylece PHP/F1'i biçimlendirmiş oldu. Adını duyurdukça bir grup yazılım geliştiricinin dikkatini çekti ve böylece bir API oluşturuldu ve PHP3 ortaya çıktı. Daha sonraları yeniden ele alınması gerekti ve Zend motoru PHP4'ü yaratmış oldu. Artık PHP önünde pek engel bulunmuyordu, PHP Hypertext Processor fetihlere çıkmaya hazırdı.
Bir betik motorunda neler var?
değiştirPHP gibi bir betik motorunun verimliliğini en yüksek düzeye çıkartan 4 temel etmen bulunuyor. Bunlar; Hız, İstikrar, Güvenlik ve Basitlik olarak sayılabilir.
Hız - Uygulama hızı önemlidir tabii ki, ancak bununla birlikte bilgisayarın diğer fonksiyonları yavaşlamamalıdır. Bu nedenle bir sürü sistem kaynağına gerek duymamalıdır. PHP, özellikle Unix tabanında çalışıyorsa, diğer yazılımlarla iyi uyum sağlamaktadır, az yer kaplar ve bir web sunucu (Apache vb.) modülü olarak çalıştırıldığında hemen kullanıma geçer.
İstikrar - Birkaç bin sayfalık bir işte, sistem çöküyorsa hızın pek bir anlamı kalmayacaktır. Her uygulamanın hata sorunu vardır. Ancak bir grup yazılım geliştiriciden oluşmuş topluluğa sahip uygulama söz konusuysa, işler biraz değişir, ve böcek (bug) olarak tabir edilen hatalar saklanacak pek bir delik bulamaz. Bunun yanı sıra PHP kendi işletim sistemi kaynaklarını kullanıyor ve veri transferi ve denetiminde çok başarılı ve kompleks bir yöntem getiriyor.
Güvenlik - Sistemin bazı saldırgan tavırlı kullanıcılara karşı korunması zaruridir. PHP istenilen düzeyde .ini dosyaları olarak kurulabilen farklı güvenlik düzeylerine sahiptir.
Basitlik - Programcıların uygulama üzerinde hızlı bir biçimde üretime geçmeleri gerekmektedir. PHP üzerinde, HTML kodlamacıları hiç zorlanmadan web sayfalarını yazmaya başlayabilir. C dilinde deneyim sahibi olan programcılar, hatta javascript kullananlar kısa bir sürede hızlanabilirler. Ayrıca bağlanabilirlik de PHP'nin artılarından biridir. Modül uzantılar sistemi çeşitli kütüphanelerle (veritabanları) kolayca arabirim oluşturabiliyor. Dahası yeni uzantılar eklemek çok kolay.
PHP'nin diğer avantajları
değiştir- PHP hemen hemen her platformda çalışabiliyor. PHP aynı kod temelini kullandığı için, UNIX, Windows (95/98/NT/2000) ve Mac OS dahil olmak üzere 25 platformda derlenip kurulabiliryor. Kodların büyük çoğunluğu aynı olduğundan kodlar küçük değişiklikler ile istenilen tüm platformlarda çalışır hale getirilebiliryor.
- PHP, uzantı alabilmektedir. Uygulamanın içerisinde yer alan çekirdek motor (Zend tarafında yazıldı), bir dizi asal kod modüllerinden ve kod uzantılarından oluşmaktadır. Bu nedenle programcılara PHP uzantıları yaratarak bazı özel işlemlerini yapabilmeleri için iki seçenek sunuluyor; ya uzantı modüllerini yazarak uygulanabilen bir derleme yapmak, ya da PHP'nin dinamik yükleme mekanizmasıyla yüklenebilecek uygulanabilir uzatmalar yaratmak.
- PHP pek çok HTTP server arayüzü barındırıyor. PHP Apache'ye, AOL server'a, Roxen ve THTTPD'ye doğrudan yüklenebiliyor. Alternatif olarak CGI modülü olarak da kullanılabilir.
- PHP pek çok veritabanı arayüzü bulunduruyor. PHP, MySQL, MS SQL, Oracle, Informix, PostgreSQL ve diğerleriyle doğrudan çalışabiliyor. Bunlar ikili sayı düzenindeki arayüzlerden oluşmaktadır ve bu çözümler için veritabanının desteklenmediği yerlerde ODBC desteği sağlıyor.
- Bir PHP kullanıcısı herhangi bir kütüphane için arayüz oluşturmakta zorluk çekmez. Pek çok kullanıcı bu yolu seçmiş, grafik rutinleri, PDF dosyaları, Flash Movie'leri, Cybercash cetvelleri, XML, IMAP, POP ve diğerleriyle ilgili modüller bulabilmiştir.
- PEAR, PHP'nin uzantısı ve Add-on deposudur. Pear, Perl için geliştirilen CPAN'e benzemektedir. Halen başlangıç aşamasında olmasına rağmen PEAR, PHP'nin kurulumuyla birlikte gelecek bir dizi PHP betiğini kullanıma sunmaktadır.
- PHP bir açık kod uygulamasıdır ve pek çok profesyonel kullanıcı için çok şey ifade etmektedir. Basitçe açıklamaya çalışırsak PHP kullanıcıyı, çalışmayan uygulamalar için üretici firmanın keyfini beklemekten, her yıl sistemini belli paralar ödeyerek güncelleme zorunluluğundan kurtarmaktadır.
Eksik yönleri neler?
değiştirHata denetimi Cold Fusion ya da ASP uygulamasındaki kadar etkili değil. Tanınmış iyi bir IDE ve debugger uygulaması bulunmuyor. IDE'nin pek çok kullanıcı için fazla bir önemi yok. Ancak debugger Zend tarafından yakın gelecekte geliştirilecek.
PHP ve diğer betik dillerini ne zaman kullanacaksınız?
değiştirEğer bir UNIX ya da Linux platformu üzerinde iş görüyorsanız, Perl ve PHP, her ikisi de çalışmalarınız için ideal. Her ikisi de başlangıç aşamasında script yazmayı kolaylaştırıyor. Windows platformundaysa ASP ve Cold Fusion egemenliği bulunuyor. Aslında buradaki tercih teknik olmasından çok politik sayılır. ASP ile IIS mühtemelen PHP ile IIS'den daha iyi. Ancak tamamen teknik bir altyapıda PHP, Windows NT üzerinde, diğer platformlardaki performansına ulaşmakta.
Sonuç olarak
değiştirSıklıkla olduğu gibi PHP'nin geliştirilmesi de neredeyse tesadüf eseri olmuştur. Bir kullanıcının betik yazılım denemeleri, daha sonra pek çok programcının gereksinimlerini karşılayacak, hızlı, kullanışlı ve kolay uygulanabilen bir betik diline dönüştü. Son üç yıl içerisinde kaydettiği gelişmelerle PHP sunucu dünyasında ciddi bir rol almış durumda. Apache, MySQL, PHP üçlüsü İnternet dünyasında vazgeçilmez bir paket haline geldi. Bu paket hızlı, dinamik ve veri tabanlı site ve portal inşaasında bir numara olmaya aday...