Seza Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Seza Forum

Seza forum size en iyi kullanici olma imkani sunuyor.Sizde forumumuza gelerek paylasimlarinizi yapabilir ve paylasimlara yorum yapabilirsiniz.Iyı gunler dileriz
 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 PHP nedir ve neden PHP

Aşağa gitmek 
YazarMesaj
Ergenekon
Forum Kurucusu

Ergenekon


Mesaj Sayısı : 405
Nerden : Cehennem

PHP nedir ve neden PHP Empty
MesajKonu: PHP nedir ve neden PHP   PHP nedir ve neden PHP Icon_minitimeCuma Tem. 11 2008, 11:32

PHP Nedir?
Rasmus Lerdorf tarafından öncelikle kendi kişisel web sayfalarını yazmak için geliştirilmesi nedeniyle 'P'ersonal 'H'ome 'P'ages adının kısaltması olarak karşımıza çıkan PHP, HTML gömülü (HTML-embedded) bir script dilidir. özellikle web uygulamaları geliştirenlerin dinamik ve havada (on the fly) üretilen web sayfalarını hızlı bir şekilde yazmaları için düşünülmüştür. Dilin sentaksı gelştirilirken C, Java ve en çok da Perl'den esinlenilmiştir. Bu nedenle bu dillerden her hangi birisini bilen bir kullanıcı için PHP'ye geçmek hiç de zor olmamaktadır.

Sunucu Tabanlı Uygulama Geliştirme
HyperText Transfer Protocol (HTTP)'nin ortaya çıkışı ile Internet gerçek kimliğine kavuştu. Bu sayede web sunucusu ile konuşan bir web browserinin sunucudan aldığı zengin içerikli bilgi uç kullanıcılara imaj, ses, video vs gibi zengin içerikte ve kullanıcı dostu bir ara yüzle ulaştırılabilir hale geldi.
Bu zengin içeriğin değişmeyen sayfalar olarak tutulması kullanıcılar için çok şey ifade etmediği için onlara içeriği otomatik değişebilen, havada üretilen ve hatta veri tabanı erişimi sunan siteler oluşturmak için çok çeşitli teknolojiler geliştirildi.
Webde dinamik sayfalar oluşturmanın temel olarak iki yolu vardır:
" Sunucu tarafında çalışan (server-sided) uygulamalar kullanmak
" İstemci tarafında çalışan (client-sided) uygulamalar kullanmak
İstemci tarafında çalışan uygulama olarak Java Appletleri veya Netscape'in JavaScript'i veya Microsoft'un VBScript'i gibi script dilleri kullanılabilir. Avantajları:
" Sunucuyu meşgul etmemesi. Veri girişi kontrolleri (data validation), menüler, genişleyebilir listeler gibi istemci tarafında yapılabilecek işler için sunucu meşgul edilmemiş olur.
" Bant genişliğini etkili kullanma. Yukarıdaki avantaj bant genişliğini de etkilemiş oluyor.
Sunucu tarafında çalışan (server-sided) uygulamalar kullanmak ise şu noktalarda istemci tarafı uygulamalara üstünlük sağlıyor:
" Web tarayıcılarında scriptler için standart bulunmamaktadır. Bu nedenle bir tarayıcıda çalışan bir script diğerinde çalışmayabilir. Tarayıcıların java appletlerini yorumlamada kullandıklarıjava sınıflarının versiyonu sizin appletinizi çalıştıramayabilir. Kullanıcıdan yeni sınıfları download etmesini sağlamanız gerekebilir.
" Sunucu tarafta çalışmasıı zorunlu bazı uygulamalar olabilir (veri tabanı erişimi, işletim sistemi komutları veya başka bazı araçlar ancak sunucu üzerinde çalıştırılabilirler).
" Bant genişliğini kullanım açısından işlemlerin önemli bir bölümünün sunucu tarafında yapılması gerekebilir. (Bir veri tabanı sunucusuna evimden sunucuya ait bir istemci yazılımla bağlandığım taktirde pekçok ara komutun iletilmesi sözkonusu olabilir. Sunucu tabanlı uygulamam ise benden sadece sorguyu alacak ve bana da sadece sonucu gönderecektir. Bu noktada HTTP protokolünün bindireceği yük de hızı azaltabilir. Kurulacak denge önemli.)
" Uygulamaların güncel tutulması ve bunu yaparken de istemciler üzerinde değişiklik yapılmayıp sadece sunucu üzerinde (tek bir merkezden) gereken değişikliği yapmak tercih edilebilir.
Günümüzde sunucu tarafı uygulama geliştirme yönünde genel bir eğilim bulunuyor. Uygulamaların tek bir merkezden sunumu ve hatta kullnıcılara program değil network üzerinden hizmet satma giderek daha çok önem kazanıyor.
Ancak web tarayıcılarının neredeyse bir işletim sistemi kadar şiştiği günümüzde hem istemci hem de sunucu taraflarda yukarıdaki faktörleri göz önüne alarak dengeyi koruyacak şekilde uygulamala geliştirmek gerkiyor.


Neden PHP?
" Platform Çeşitliliği (Hem UNIX, hem Linux, hem de Windows için hazır)
" Performans (Zend yorumlayıcı motoru ile şimdi çok hızlı)
" Büyük ölçekli veri tabanı uygulamaları için ideal (ODBC, MySQL, PosgreSQL, Oracle ve diğerleri için arayüz desteği)
" Internet standartlarına uyumluluk (LDAP, IMAP, FTP, news gibi standartlara sonuna kadar açık bir kapı)
" Gelişmiş Özellikler (Oturum Yönetimi, Semafor ve Paylaşımlı Hafıza kullanım, Sürekli Veritabanı Bağlantıları, Regular Expressions)
" Ekonomik (Bedava :-))
Hem UNIX, hem Linux, hem de Windows için hazır
Kaynak kodu açık olarak dağıtılan PHP, Linux, Solaris, HP-UX, IRIX, FreeBSD vb üzerinde rahatlıkla derlenip çalıştırılabilir. Kendi başına derlenip web serverden cgi programı olarak çağrılabilir. Ancak hız ve güvenlik açısından sakınca oluşturduğu için özellikle Apache web sunucusu ile birlikte modül olarak derlenmesi tavsiye ediliyor.
Windows-NT ortamında da, Internet Information Server(IIS) ile çalışmak üzere kullanılabilmekte.

Yüksek Performans (Zend'in yorumlayıcı motoru ile şimdi çok hızlı)
PHP 3.x versiyonları popüler olmalarına rağmen ASP yorumlayıcısına karşı yavaş kalıyorlardı. PHP, 4.0 versiyonunda Zend firmasının script yorumlayıcı motorunu kullanılarak tamamen yenilendi ve hız olarak ASP ile yarışır hale geldi. Zend'in kendi yaptığı testlerde PHP3.x ile PHP4.x arasındaki fark gözlenebilmekte:
100MHz Pentium işlemci ve 24MB hafızalı Linux kurulu bir sistemde şu sonuçlar alınmış:
PHP3.0.6 PHP/Zend PHP/Zend+optimizer
Süre Süre Performans Artışı Süre Performans Artışı
QuickSort algoritması (1000 öge) 5:26min. 1:11min. 460% 31sec. 1050%
QuickSort algoritması (10 öge) 0.1sec 0.06sec 60% 0.06sec 66%
MySQL'de tablo listeleme (1000 kayıt) 4.35sec. 0.83sec. 525% 0.57sec. 765%
MySQL'de tablo listeleme (10 kayıt) 1.1sec. 0.6sec. 185% 0.5sec. 220%
PHP 4.0 pre-alpha versiyonu ile Microsoft'un ASP'si arasında yapılan benchmark sonuçları ilginç. QuickSort algoritması çalıştıran özdeş ASP ve PHP scriptleri 128 MB RAM'li P2-233 sistemi üzerinde Windows NT/Service Pack4 ve web server olarak IIS 4.0 kullanılarak çalıştırılıyorlar. Burada PHP yorumlayıcısı ISAPI modülü olarak çalışıyor ve işletim sisteminin NT ve web serverin IIS olması ASP için bir avantaj olması gerekirken hiç de öyle olmuyor:
ASP PHP/Zend PHP/Zend+optimizer
Süre Süre Performans Artışı Süre Performans Artışı
Basit Döngü (10 Milyon iterasyon) 44sec. 43sec. 2% 12.5sec. 352%
QuickSort algoritması (200 öge) 10sec. 44sec -440% 6sec. 66%
Ayrıca ASP özellikle yoğun hit alınan durumlarda web sunucusunu yavaşlatırken, modül olarak kurulu Apache-PHP ikilisinde bu sorun pek yaşanmıyor.
PHP/Zend yorumlayıcısı ücretsiz olacak. Ancak Zend firması PHP nin optimizer'li yorumlayıcısını ücretli dağıtmayı düşünüyor.
PHP'nin hızlı olması Ulakbim web sitesinde de parser olarak kullanmamız için tercih sebeplerinden biri oldu. Şu an sitedeki tüm sayfalar bir php scriptinden geçip havada üretilerek tarayıcılara gönderilmekte.



Büyük ölçekli veri tabanı uygulamaları için ideal (ODBC, MySQL, PosgreSQL, Oracle ve diğerleri için arayüz desteği)
ASP ve Cold Fusion gibi araçlar özellikle veri tabanlarına bağlanıp ve kullanabilme gibi özellikleri ile ön plana çıkmışlardır. PHP de arayüz oluşturduğu veritabanı yönetim sistemlerinin çeşitliliği ile ön plana çıkıyor. PHP ile birlikte:
" MySQL
" mSQL
" PosgreSQL
" ORACLE
" MS-SQL Server
" Sybase
" Informix
" InterBase
" Solid
gibi popüler veri tabanları kullanılabiliyor.


Internet standartlarına uyumluluk (LDAP, IMAP, FTP, NNTP, TCP gibi standartlara açılan bir kapı)
PHP açık standartları desteklemektedir. Ona http protokolü ile ilişkisi olmayan pek çok işi yaptırabilirsiniz. Üstelik tüm bu standartların web'e çıkış kapısı olabilir. PHP derlenirken bazı opsiyonlar ve kütüphaneler kullanılarak çok fonksiyonlu bir araç haline getirilebilir.
Kurum içi personel bilgilerinin tutulduğu bir LDAP sunucusuna erişim, sorgulama ve değişiklik yaptırılabilir, tamamen özelleşmiş web mail veya web news arabirimleri oluşturulabilir, FTP veTelnet istemcilerinin yerini alabilir. TCP soketleri kullanarak kendinize özgü istemci sunucu uygulamalar bile geliştirebirsiniz.
Bunları yaparken muhtemelen Internet'e iyi bir bağlantısı olan ve güçlü donanım özelliklerine sahip bir sunucu tarafında uygulamaları çalıştırıyor olmanın avantajlarından yararlanırsınız.
Üretilen uygulamaların yönetimi de tamamen otomatik veya yine web üzerinden çok az yönetimsel fonksiyon gerektirecek hale getirilebilir.
Gelişmiş Özellikler (Oturum Yönetimi, Semafor ve Paylaşımlı Hafıza kullanım, Cookiler, Sürekli Veritabanı Bağlantısı)
PHP, oturum yönetimi (session management) konusunda da oldukça iyi.
PHP'de bu özellik Netscape Enterprise Server üzerinde kullanılan ServerSideJavaScript kadar gelişmiş ve kolay kullanılır değil. NSEnterprise Server, SSJS ile geliştirilmiş uygulamaları çağrılmadan önce hafızaya yüklüyor ve bunların ortak kullanabileceği hiyerarşik session objectleri tanımlıyor. Bu ise işinizi gerçekten kolaylaştırıyor. PHP'ye de aynı işi yaptırabilirsiniz ancak PHP'de scriptler ancak çağrılınca hafızaya alındığı için bu iş için biraz uğraşmanız gerekiyor. Paylaşımlı hafıza (shared memory) ve semafor kullanmak durumundasınız.
İstemci tarafına cookie kullanarak oturum bilgisini atmanız da PHP ile oldukça kolay.
Sürekli Veritabanı Bağlantısı (Persistent Database Connections) özelliği veri tabanı uygulamalarında hızı oldukça arttıran bir faktör. Normalde bir kullanıcı veri tabanıyla ilgili bir iş yapmak için web sunucuya birden çok istem iletir. Cgi programları aynı kullanıcının her istemi için veri tabanı sunucusuna yeni bir bağlantı kurar. PHP ile persistent connection kullanıldığında sadece ilk request için veri tabanı bağlantısı kurulup sonra aynı bağlantı numarası (connection handle) kullanılarak bağlanılabiliyor. Authentication ve authorization için gereken gereksiz bir yığın işten kurtulunuyor.

Ekonomik (Bedava :-))
PHP, General Public Liscense ile ücretsiz dağıtılmaktadır. Aynı şekilde MySQL'in de kaynak kodları açıktır. İşletim sistemini de ucuza getirmek istiyorsanız size uyan bir Linux paketi ile komle bir web tabanlı uygulama ve intranet platformu edindiniz demektir. Bu durumda harcamalar neredeyse tamamen donanıma gidecektir. Üstelik oldukça pahalı olan diğer çözümlere yakın (hatta bazı yönlerden daha iyi) bir yetkinlikte ihtiyaçlarınıza cevap verildiğini göreceksiniz
Sayfa başına dön Aşağa gitmek
http://seza.yetkinforum.com
 
PHP nedir ve neden PHP
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» XML nedir?
» TCP / IP nedir?
» SMF Nedir?
» Hosting Nedir

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Seza Forum :: Webmaster :: PHP-
Buraya geçin: