Php, dinamik web sayfaları hazırlamak için geliştirilmiş web tabanlı bir programlama dilidir. Kısaltmasının açılımı PHP:Hypertext Preprocessor(üstün yazı ön işlemcisi)’dir. Kısaca tarihçesinden bahsedecek olursak. Kanadalı yazılımcı Rasmus Lerdorf tarafından web sayfasına gelen ziyaretçilerin sayısını tutmak için geliştirilmiştir. Lerdorf’un geliştirmiş olduğu bu dil zamanla insanlar tarafından benimsenmiş ve geliştirilerek açık kaynak kodlu olarak piyasaya sürülmüştür. Php kodlar zend engine isimli açık kaynak kodlu betik motoru tarafından yorumlanmaktadır.
Günümüzde hala popülerliğini sürdürmekte olan PHP programlama dili yapımcıları tarafından geliştirilmekte ve yeni özellikler ile zenginleştirilmektedir. Günümüzde 7.4 sürümü ile hala gelişmeye devam etmektedir. Php resmi sayfasından yeni sürümleri ve yeni özellikleri takip edebilirsiniz.
Php Nedir? Php ile Neler Yapılabilir?
Bu programlama dili sunucu taraflı çalışan bir dildir yani işlemler arka planda yapılıp kullanıcıya çıktı sunulmaktadır. Ziyaret ettiğimiz web sitelerdeki görüntüler HTML, CSS ve Javascript gibi betik dilleri ile oluşturulmaktadır. Bu nedenle sayfaların görünümleri php ile alakalı değildir.
Yapılabileceklerin sınırı tamamen programcının bilgi birikimine ve hayal gücüne bağlıdır. Sunucu taraflı çalışan diğer diller ile yapılabilecek her şeyi Php ile yapmakta mümkündür. Günümüzde php kullanan ve oldukça bilinen web siteleri örnek vermek gerekirse facebook, google, twitter, wikipedia vs. liste bu şekilde uzayıp gider.
Her programlama dilinde olduğu bu programlama dilinde de avantajlar ve dezavantajlar mevcuttur, peki nedir bu avantajlar ve dezavantajlar derseniz alt başlıklarda kısaca inceleyelim.
Avantajları Nedir
- En sevdiğim avantajı kullanmak ücretsizdir.
- Sanal sunucular ile her işletim sistemin kolaylıkla çalıştırılabilir.
- Söz diziminin basit olması sebebiyle öğrenmesi oldukça kolay bir dildir.
- Bir çok veritabanı yönetim sistemi ile uyumlu çalışmaktadır.(Mysql,Oracle, Mssql)
- Açık kaynak kodludur. Bir çok geliştirici tarafından geliştirilebilir.
- En önemlisi de oldukça fazla kaynağa sahiptir. Bu kaynaklar çoğunlukla İngilizcedir. Fakat günümüzde Türkçe kaynaklarda yeterince vardır.
- Derlemeye ihtiyaç duymaz bilgisayardaki not defteri ile bile yazılabilir ve sanal sunucuda çalıştırılabilir.
- Oldukça hızlı çalışmaktadır. Zend engine kodları kısa bir sürede yorumlar
Dezavantajları Nedir
Aslında ben pek bir dezavantajını göremedim ancak sürüm uyumsuzluğu konusunda bir takım sorunlar olabiliyor genel anlamda yeni sürüm eski sürümle uyumlu ancak yeni sürümlerde bazı özelliklerin kaldırılması yada değiştirilmesi uyum sorununa neden olabiliyor.
Php Nasıl Çalışır?
Aslında tüm web tabanlı diller aynı mantık ile çalışır diyebiliriz. Algoritmaları birbirine benzemektedir. Site dosyaları .php uzantılı dosyalardan oluşturulur. Sunucu bu dosyaları çalıştırdığında zend engine kodları algılar ve bu kodların oluşturacağı sonuçları üreterek çıktıyı kullanıcıya sunar.
PHP bir siteye girdiğinizde zend engine kodları ayrıştırarak işler ve sonuçları html olarak ekran bize sunar. Tarayıcımızın kaynak kodları görüntüleme özelliğini kullanarak siteyi incelediğimizde php kodları kesinlikle görünmez. Sunucu tarafında işlemler php kodları ile yapıldığı için zend engine kodların tarayıcı kaynağında görünmesini engeller. Sayfa kaynağını görüntülediğimizde gördüklerimiz HTML, CSS ve Javascript kodlarıdır.
Kısaca çalışma mantığını anlatmak gerekirse. Kullanıcı tarayıcı aracılığı ile sunucuya bir istek gönderir bu istek sunucuda işlenir ve sonuç HTML çıktı olarak kullanıcıya sunulur.
Nedir?, nasıl çalışır?, neler yapılabilir? az çok fikir sahibi olduğumuza göre çalışma ortamını oluşturmak için ilk önce Wamp Server Kurulumu – Wamp Server Nedir? buraya göz atın. Eğer wamp server yeşile dönmez turuncu renkte kalırsa Apache 80 Portu Hatası – Apache Port Değiştirme başlıklı yazıma göz atmanızı öneririm.
Öğrenmeye başlamadan önce HTML, CSS ve Javascript gibi betik dillerini öğrenmeniz ve yeterli seviyeye gelmeniz bu alanda çalışmalar yapmanızı oldukça kolaylaştıracaktır. Çünkü tek başına görsel bir şey ifade etmez. Web sitelerinin görsel ve etkileşimli olması betik dillerine bağlıdır. Bu nedenle ilk önce betik dillerini hakkında bilgi sahibi olmanız öğrenme hızınızı katlayacaktır.