Bu yazımda Dünya'nın en çok tercih edilen web programlama dili olan PHP (Hypertext Preprocessor)'nin ne olduğu ve PHP ile neler yapılabileceği ile ilgili kısa bilgiler vermeye çalıştım. Umarım yeni başlayanlar için "başlangıç rehberi" niteliğinde olmuştur.
PHP Nedir?
PHP açılımı (Hypertext Preprocessor) olan, Dünya genelinde çok sık kullanılan ve oldukça işlevsel bir web programlama dilidir. Derleme süreci olmadan çalışır, açık kaynak kodlu ve ücretsiz bir web yazılım dilidir. PHP ilk olarak 1995 yılında Rasmus Lerdorf tarafından “kişisel web sayfalarını dinamikleştirmek” için Personal Home Page (Kişisel Anasayfa) adıyla tanıtılmıştır.
Geliştirilme süreci. Daha sonra, şimdiki Zend Teknolojinin kurucuları olan iki programcı tarafından Zend çekirdek yapısı kullanılarak geliştirilmiş ve ismi Hypertext Preprocessor (Hiper Metin Önişlemcisi) olarak değiştirilmiştir. En güncel sürümü 7+ olarak bilinir.
PHP Nasıl Çalışır?
PHP, sunucu taraflı bir programlama dili olduğundan, web sunucusu üzerinde çalışır. Kullanıcı, tarayıcı aracılığıyla web sayfasına erişir ve sunucu, PHP betiklerini işleyerek sayfa içeriğini oluşturur ve tarayıcıya gönderir.
PHP betikleri, bir metin editörü gibi herhangi bir düzenleyici aracılığıyla yazılabilir ve .php uzantısı ile kaydedilir. Sunucu, bu betikleri yorumlar ve işler. İşleme süreci, PHP kodlarının yürütülmesini, veritabanı sorgularının işlenmesini ve sonuçların tarayıcıya gönderilmesini içerir.
PHP, HTML ile entegre bir şekilde çalışır ve HTML etiketleri arasına gömülebilir. Bu şekilde, PHP kodları, HTML kodu içinde kullanılarak dinamik web sayfaları oluşturulabilir. Örneğin, PHP kodu bir döngü aracılığıyla veritabanındaki verileri çekebilir ve bu verileri HTML tablosu biçiminde görüntüleyebilir.
Bir web sayfasında PHP kullanıldığında, kullanıcı tarafından görülemeyen kod, sunucu tarafında çalışır ve sonuçları tarayıcıya gönderir. Bu sayede, kullanıcılar sayfa içeriğini görürken, aslında sunucu tarafındaki PHP betiklerinin çalıştığını fark etmezler.
PHP Nasıl kullanılır?
PHP, web geliştirme için oldukça popüler bir dildir ve kullanımı oldukça kolaydır. PHP betikleri, bir metin editörü veya kod düzenleyicisi aracılığıyla yazılabilir ve .php uzantılı olarak kaydedilir.
PHP kullanımı için bir web sunucusu kurulması gerekir. Örneğin, Apache, Nginx gibi web sunucusu yazılımları kullanılabilir. PHP betikleri, web sunucusu tarafından işlenir ve sonuçları tarayıcılara gönderilir.
Bir PHP betiği oluşturmak için şu adımları izleyebilirsiniz:
- Bir metin editörü veya kod düzenleyicisi açın ve yeni bir dosya oluşturun.
- Dosyayı .php uzantısıyla kaydedin. Örneğin, "index.php" olarak kaydedebilirsiniz.
- PHP kodlarını yazın. PHP kodlarının her zaman etiketleri arasında olması gerekir.
Daha sonra PHP betiğini web sunucusuna yükleyin. Bu işlem, web sunucusunun belirli bir dizininde dosya oluşturarak yapılabilir. Web tarayıcısını açın ve sunucunuzun adresini girin. Örneğin, "localhost/index.php". Bu, sunucu tarafında PHP betiğinin işleneceği ve sonucun tarayıcıya gönderileceği anlamına gelir.
PHP, web geliştirme için oldukça esnek bir dildir. Veritabanlarına bağlanmak, kullanıcı girişleri ve form verilerini işlemek, dosya yükleme işlemleri gerçekleştirmek, e-posta göndermek gibi birçok görevi gerçekleştirebilir. Bunun yanı sıra, büyük bir topluluğu olan bir dildir ve bu nedenle birçok kaynak ve öğretici materyale de sahiptir.
PHP ile neler yapılabilir?
PHP, dinamik web siteleri oluşturmak için kullanılan bir dildir. Veritabanlarına bağlanmak, kullanıcı girişleri ve form verilerini işlemek, dosya yükleme işlemleri gerçekleştirmek, e-posta göndermek gibi birçok görevi gerçekleştirebilir. İşte PHP ile yapılabilecek bazı şeyler:
- Dinamik web siteleri oluşturmak: PHP, web sitelerinde dinamik içerikler oluşturmak için kullanılabilir. Örneğin, veritabanından veri çekmek ve bu verileri web sayfasında göstermek gibi işlemler yapılabilir.
- Kullanıcı kayıt ve giriş sistemi oluşturmak: PHP, web sitelerinde kullanıcıların kayıt olmalarını ve giriş yapmalarını sağlayan bir sistem oluşturmak için kullanılabilir.
- Form işleme: Web formlarından veri almak, bu verileri işlemek ve sonuçları e-posta veya veritabanına kaydetmek için kullanılabilir.
- E-ticaret siteleri oluşturmak: E-ticaret sitelerinde ürün listeleme, sipariş işleme, ödeme işlemleri vb. işlemleri gerçekleştirmek için kullanılabilir.
- Bloglar ve forumlar oluşturmak: Web sitelerinde bloglar, forumlar gibi kullanıcılar arası etkileşimlerin olduğu sistemlerin oluşturulmasında kullanılabilir.
- İçerik yönetim sistemleri oluşturmak: Web sitelerindeki içeriği kolayca güncellemek ve yönetmek için kullanılan içerik yönetim sistemleri oluşturmak için kullanılabilir.
- Veri tabanı işlemleri: PHP, veritabanı işlemleri yapmak için kullanılır. MySQL, PostgreSQL, Oracle gibi birçok veritabanı yönetim sistemiyle uyumlu çalışır ve verilerin okunması, yazılması, güncellenmesi, silinmesi gibi işlemleri gerçekleştirebilir.
Liste uzayabilir. Yapılabileceklerin sayısı çok daha fazla olabilir ancak PHP’nin ne kadar kapsamlı olduğunu ve çok büyük projeleri sırtlayabildiğini görebilmeniz açısından bu örneklerin yeterli olduğunu varsayabiliriz.
PHP ile yapılan siteler / projeler. Nitekim Facebook, Wikipedia, Wordpress, Yahoo!, Tumblr, iStockPhoto, Flickr, Baidu, Digg, Canva gibi dev platformlar, PHP altyapısı ile kodlanmış ve geliştirilmektedir. Özetle PHP, geniş bir kullanıcı topluluğuna sahip olduğu için birçok kaynak ve öğretici materyal mevcuttur. Bu nedenle, öğrenmesi ve kullanması oldukça kolaydır.
Neden PHP, Avantajları nedir?
PHP, birçok avantaja sahip olan popüler bir web programlama dili olarak kabul edilir. İşte PHP'nin avantajlarından bazıları:
- Ücretsiz ve açık kaynak kodlu: PHP, ücretsiz ve açık kaynak kodlu bir dildir. Bu, geliştiricilerin kodlarını kullanarak özgürce çalışmalarını ve web projelerini ücretsiz olarak oluşturabilmelerini sağlar.
- Çoklu platform desteği: Windows, Linux, macOS gibi birçok platformda çalışabilir. Bu nedenle, farklı işletim sistemlerindeki sunuculara kolayca taşınabilir.
- Yüksek performans: Sunucu taraflı bir dil olduğu için, web sayfalarının hızlı bir şekilde işlenmesini sağlar. Sunucu tarafında çalıştığı için, sayfa yüklemesi daha hızlıdır ve kullanıcı deneyimini arttırır.
- Kolay öğrenilebilirlik: Düşük bir öğrenme eşiğiyle gelir. Daha önce kodlama bilgisi olmayanlar bile kolayca öğrenebilirler. Ayrıca, büyük bir topluluğu olduğundan birçok kaynak ve öğretici materyale erişmek mümkündür.
- Güvenli: Özel güvenlik önlemleriyle birlikte gelir ve güvenlik açıklarını minimuma indirmek için birçok özellik içerir. Örneğin, form verilerini işlerken güvenlik için Cross-Site Scripting (XSS) ve Cross-Site Request Forgery (CSRF) gibi önlemler alabilirsiniz.
- Geniş kütüphane desteği: PHP, büyük bir kütüphane desteğine sahiptir ve bu nedenle birçok işlemi kolayca yapabilirsiniz. Örneğin, veritabanı işlemleri, dosya yükleme, e-posta gönderme gibi birçok işlem için Laravel, Codeigniter vb. hazır kütüphaneler mevcuttur.
- Dinamik web sayfaları oluşturma: Dinamik web sayfaları oluşturmak için ideal bir dildir. Veritabanı işlemleri yapmak, kullanıcı girişleri ve form verilerini işlemek, dosya yükleme işlemleri gerçekleştirmek ve daha pek çok işlemi gerçekleştirmek için kullanılabilir.
Bu avantajlar, PHP'nin web programlama için neden popüler bir dil olduğunu gösterir. Ayrıca, büyük bir topluluğa sahip olması, sürekli olarak geliştirilmesi ve güncellenmesi de PHP'yi tercih edilir kılar.
Peki PHP'nin Dezavantajları yok mu?
Dezavantajlar da mevcut. Her ne kadar kişiye göre değişebiliyor olsa da PHP’nin genel anlamda birkaç dezavantajı mevcut.
- Sürüm uyuşmazlığı sorunları yaşanabiliyor.
- Gözden kaçabilecek birkaç basit hatalar saatlerce çözülmesi zor sorunlar haline gelebiliyor. Bu basit hataların başını ne yazık ki noktalı virgül (;) çekmektedir.
- Yine yapılabilecek hataların diğer kod sayfalarını etkileyerek problemler zinciri oluşturabiliyor. Hele de kapsamlı projelerde bu hataları ayıklamaya çalışmak “labirentten çıkmaya çalışan fare” gibi hissettirebilir diye duymuştum. : )
- Güncelleme işlemi web sunucusu üzerinden “eş zamanlı olarak” yapılır, bu durum can sıkıcı olabiliyor.
- Yoğun kod bloglarında tepkime süreleri gecikebiliyor. Aslında doğrudan dezavantaj sayılmaz zira birçok programlama dilinde benzeri sorunlar yaşanabiliyor.
PHP Nasıl öğrenilir?
PHP ile ilgili birçok video, kitap ve dokümantasyon kaynak mevcut. Eğer başlamaya karar verdiyseniz Tayfun Erbilen kursunu tavsiye edebilirim.
Kendisi uzun süredir takip ettiğim yeteneklerden biridir. Hatta var olan bilgilerimi tazelemek ve yeni şeyler öğrenmek için udemy kursunu satın almıştım. Çok temiz ve akıcı bir anlatım dili olsa da küçük bir dipnot iletmek isterim. PHP'yi hiç bilmiyorsanız, dersleri dinlerken “onu sen şimdi niye öyle yaptın tayfun başkan ya” diyebilirsiniz. : ) Yapacak çok fazla bir şey yok adam işinin ehli, tutamıyorsunuz, akıyor...
Şaka bir yana ilk zamanlar biraz zorlanabilirsiniz ancak kurs çok iyi, tavsiye ederim.
Yukarıdaki videoya göz atarsanız, çok uygun rakamlarla çok iyi eğitimler alınabildiğini fark edeceksiniz. Bu arada kesinlikle reklam vs. değil birbirimizi hiçbir şekilde tanımayız. Uzun süredir çizgisini bozmayan, insanların yararlanmaları için kaynaklar ürettiği özellikle de gençleri teşvik edici organizasyonlar / eğitimler düzenlediği (bkz: prototürk) için hoşuma giden bir kişilik, yaygınlaşması için küçük de olsa desteğim olsun istedim.
Eskiden PHP için yeterli yerel kaynak yoktu ama Tayfun Erbilen gibi genç yaşta iyi işler çıkarabilen web geliştiriciler sayesinde ülkemizde yaygınlaşmaya ve sevilmeye başladı. Başarılarının devamını diliyorum…
PHP Öğrendiğinizde neler yapabileceksiniz?
PHP, özellikle dinamik web sitelerinin geliştirilmesi için ideal bir dildir. Veritabanı işlemleri yapmak, kullanıcı girişleri ve form verilerini işlemek, dosya yükleme işlemleri gerçekleştirmek, e-posta göndermek ve daha pek çok işlemi gerçekleştirmek için kullanılabilir.
Hayal gücünüze bağlı. Başta da bahsettiğim gibi PHP ile hayal gücünüzü zorlayacak birçok projeyi hayata geçirebilirsiniz. B2B'ler B2C'ler, E-ticaret platformları, online oyun sayfaları vb. gibi kapsamlı projeler yapabileceksiniz. Tabii ki bunların bir kısmını yapabilmeniz için ciddi deneyim ve bilginizin olması gerekiyor. Yeterli zaman ve deneyimle her şey mümkün.
Son söz
Özetle PHP (Hypertext Preprocessor), sunucu tarafında çalışan, genel amaçlı, açık kaynaklı bir programlama dilidir. PHP, web geliştirme işlemlerinde kullanılan en popüler dillerden biridir ve HTML ile birlikte web sitelerinin dinamik olmasını sağlar.
Web sunucularında çalıştırılan bir dildir ve web sayfalarının oluşturulması, dinamik içeriklerin işlenmesi, form verilerinin işlenmesi, dosya işlemleri, veritabanı işlemleri, oturum yönetimi, e-posta işlemleri gibi birçok işlemi yapabilir. PHP, kullanıcılara web sayfalarının içeriğini, biçimlendirmesini ve veritabanlarının işlenmesini kontrol etme imkanı sunar.