PHP Eğitimine Giriş

PHP, dinamik ve etkileşimli web sayfaları oluşturmak için geliştirilen bir script(betik) dilidir. HTML, CSS ve JavaScript dillerinden temel farkı Server-Side yani sunucu taraflı olmasıdır. Microsoft tarafından geliştirilen ASP ve benzeri script dillere rakip olarak geliştirilen, yaygın ve ücretsiz bir dildir. PHP ile herhangi bir ücret ödemeden web sayfaları geliştirebilirsiniz.

Örnek bir PHP kodu şöyledir:

<!DOCTYPE html>
<html>
<body>
 
  <?php
     echo "İlk PHP kodu!";
  ?>
 
</body>
</html> 

Yukarıda verilen echo komutu ile istediğiniz bir veriyi ekrana yazdırabilirsiniz.

Ön Gereksinimler

PHP diline başlamadan önce aşağıdaki konular hakkında bilgi sahibi olmanız gerekiyor:

  • HTML
  • CSS
  • JavaScript

PHP Nedir?

PHP dilinin ne olduğunu daha iyi anlamak için aşağıdakileri bilmenizde fayda var;

  • PHP, yaygın olarak kullanılan açık kaynak kodlu özgür (ücretsiz) bir dildir.
  • PHP kodları Server-side yani sunucu tarafında çalışır.
  • PHP’nin indirilmesi ve kullanılması ücretsizdir.
  • PHP kısaltmasının açılımı “PHP: Hypertext Preprocessor” olup anlamı PHP:Hiper Metin Önişlemcisidir.
  • HTML içine gömülebilen script(betik) bir dildir.
  • Syntax yani sözdizimi C, Java ve Perl’den alınmıştır.
  • Dilin amacı hızlı üretilen web sayfaları oluşturmayı sağlamaktır.

PHP tüm bu özelliklere ek olarak dünya genelinde yaygın olarak kullanılan popüler bir dildir. Web üzerinde blog siteler oluşturmayı sağlayan WordPress içerik yöneticisinin merkezinde PHP yer almaktadır. Facebook gibi en güçlü sosyal ağların yönetilmesinde oldukça etkilidir. Son olarak server-side yani sunucu taraflı bir dile başlamak isteyenler için oldukça kolay bir dildir. Bu ve benzeri artılarından dolayı PHP dünya genelinde oldukça yaygındır.

PHP Dosyası

PHP ile çalışırken PHP dosyası veya dosyaları oluşturmamız gerekiyor. Bu dosyalar hakkında bilmemiz gerekenler şöyledir:

  • PHP dosyaları, metin, HTML, CSS, Java Script ve PHP kodlarını içerebilir.
  • PHP kodları sadece sunucu tarafında çalışır. Kodların sonucu tarayıcıda HTML kodları olarak gösterilir.
  • PHP dosyaları “.php” uzantısına sahiptir.

PHP ile Neler Yapılabilir?

Dünyada yaygın olarak kullanılan PHP dili ile yapabileceğimiz bazı temel işlemler şöyledir:

  • PHP ile dinamik sayfalar veya sayfa içerikleri oluşturabiliriz.
  • Sunucu üzerinde dosya oluşturabilir, açabilir, okuyabilir, yazabilir, silebilir ve kapatabiliriz.
  • HTML ile oluşturulan form verilerini toplayabiliriz.
  • Cookie yani çerez gönderip alabiliriz.
  • Veritabanına ekleme, silme ve güncelleme yapabiliriz.
  • Kullanıcı erişimini kontrol edebiliriz.
  • Veri şifreleme yapabiliriz.

Niçin PHP?

Buraya kadar verdiğimiz bilgilere ek olarak PHP’nin niçin bu kadar çok tercih edildiğini net olarak açıklamakta yarar var. Niçin PHP? Sorusuna aşağıdaki cevapları verebiliriz:

  • Windows, Linux, Unix, Mac OS X vb. Birçok farklı platformda çalışabilmesi.
  • Günümüzde kullanılan tüm sunucular ile uyumlu olması. Örneğin: Apache, IIS vb.
  • Çeşitli veritabanlarını desteklemesi.
  • Ücretsiz olması.
  • Öğrenilmesinin kolay olması.
  • Sunucu tarafında verimli çalışması.

Yukarıda verilen birçok nedenden dolayı PHP gerçekten öğrenilmesi gereken bir dil haline geliyor.

PHP Kavramları

Giriş bölümünü bazı ilginç bilgilerle tamamlamak istiyorum. PHP ile ilgili veya PHP’nin bazı temel özellikleri şöyledir:

  • Open Source
  • Server-side
  • Cross-platform
  • Scripting Language
  • PHP: Hypertext Preprocessor

Bunlar PHP’nin temel özellikleridir. Şimdi bunları tek tek açıklayalım.

Open Source (Açık Kaynak)

Herkesin kaynak kodunu kopyalayıp özgürce değiştirmesini sağlayarak, gönüllüler tarafından yazılan yazılımların kullanımını ve geliştirilmesini teşvik etmek için tasarlanmış yazılım lisanslama ve dağıtımı için bir yöntem veya felsefedir. Bir yazılım veya programlama dilinin açık kaynak olduğunu belirten çeşitli açık kaynak lisanslar vardır. Programcılar, programlarını dağıtırken kendilerine uygun olan bir lisans seçebilirler.

PHP açık kaynak kodlu bir girişimin neticesinde meydana gelmiştir. En büyük avantajı herhangi bir ücret ödemeden PHP tabanlı web sayfaları geliştirmeye izin vermesidir.

Server-Side (Sunucu Taraflı)

PHP, server-side yani sunucu tarafında çalışan ve HTML kodları üreten bir script dilidir. Bu kavramı tam olarak anlamak oldukça önemlidir. Öncelikle İnternet yani Web ortamının nasıl çalıştığını ve server/client yapısını anlamak gerekiyor. Bunun için aşağıdaki diyagramı inceleyelim.

Web/İnternet ortamının çalışma yapısı yukarıdaki gibidir. Konunun daha iyi anlaşılması için tek bir Server/Client (Sunucu/İstemci) modeli üzerinden devam edeceğiz. İnternet ortamında sunucu ve istemciler bulunmaktadır. Sunucu, istemcilere belirli konu veya konularda hizmet sağlayan güçlü donanımlara ve geniş bant iletişimine sahip bilgisayarlardır. Örneğin; Google, Facebook, Twitter, alışveriş siteleri vb. Ziyaret ettiğiniz tüm web sitelerine erişim sunucular ile sağlanmaktadır. Bazen ziyaret ettiğiniz bir siteye erişemediğiniz durumlar olabilir. Böyle durumlar ya sunucu tarafında bir hatadan veya servis sağlayıcısından kaynaklanmış olabilir.

Özetle web ortamında gezindiğimiz her bir site sunucularda bulunmaktadır. Client yani istemci ise burada bir masaüstünü örnek verdik ama bu kavrama; mobil cihazlar, tabletler, laptoplar ve daha birçok cihaz örnek verilebilir. Bu cihazlar web ortamını kullanarak sunuculara erişmeyi ve istekte bulunmayı sağlar. Bu işlemi yapmak için web browser yani web tarayıcılarını kullanır.

Web ortamının çalışması yukarıdaki gibidir. Şimdi Server-side kavramını daha net açıklayalım. PHP , sunucu tarafında çalışan script bir dildir. Ancak PHP kodları çalıştığı zaman web tarayıcısında sadece HTML kodları bizlere gösterilir. Yani hiçbir şekilde PHP kodlarına herhangi bir istemci erişemez. Bunun en büyük avantajı güvenliktir. Web sitenizin güvenli olması için kullandığınız script dilinin kullanıcı tarafından görülmemesi gerekiyor. Eğer kodlarınız açık bir şekilde kullanıcıya gösterilirse, böyle bir durumda sunucunuz ve dolayısıyla veritabanınız siber saldırılara tamamen açık olur. Bunun önüne geçmek için PHP dili tamamen sunucu taraflı olarak geliştirilmiştir.

Yani PHP kodlarına sadece sunucudan erişim sağlanabilir ve sadece sunucu üzerinden değişiklik yapılabilir. Server-side kavramı net olarak böyledir. Client-side tarafında ise sadece HTML, JavaScript ve CSS kodları okunabilir. Kullanıcı ziyaret ettiği web sayfalarında PHP kodları olsa bile bunları kesinlikle okuyamaz. Bunu daha net anlamak adına bölümün başında verdiğimiz kodu örnek olarak vermek istiyorum.

<!DOCTYPE html>
<html>
<body>
 
   <?php
      echo "İlk PHP kodu!";
   ?>
 
</body>
</html> 

Yukarıda verilen PHP koduna eğer sunucudan erişmek isterseniz PHP kodunu yukarıdaki gibi görebilirsiniz. Farz edelim bu dosyayı yayınladık. Kullanıcı aşağıdaki gibi web tarayıcıda bu dosyaya erişim sağladı.

Kullanıcı sayfaya sağ tıklayıp açılan menüden “Sayfa kaynağını görüntüle” seçeneğini seçtiği anda sayfanın kaynak kodu aşağıdaki gibi gösterilir.

Dikkat edilirse, açılan sayfada yazdığımız echo komutunu göremiyoruz. Bunun nedeni kodun client-side tarafında çalışmasıdır. Bu örnekten anlaşılacağı üzere sunucu tarafından okunabilen PHP kodlarına istemci tarafında kesinlikle erişim sağlanamıyor.

Cross-platform

Cross-platform, farklı platformlarda çalışan programlama dili, yazılım veya donanımı tanımlayan bir kavramdır. PHP dili, cross-platform tabanlı olup öncede bahsettiğimiz üzere, Windows, Linux, Unix, Mac OS X vb. Birçok farklı platformda çalışabiliyor.

Yazılım alanında; Facebook, Instagram, Twitter gibi yazılımların masaüstü, mobil telefon, tablet ve laptop gibi farklı donanımlarda veya Android ve İOS gibi farklı işletim sistemlerinde çalışabilmesini örnek olarak verebiliriz.

PHP’nin yaygın kullanılmasının en önemli etkenlerinden birisi şüphesiz cross-platform tabanlı olmasıdır.

Scripting Language

PHP, bir script yani betik dili olarak geliştirilmiştir. Betik dili, diğer programlama dilleriyle bütünleşmek ve iletişim kurmak için tasarlanmış dil veya dillere denir. Script dillere örnek olarak dünya genelinde yaygın olarak kullanılan şu dilleri verebiliriz:

  • JavaScript
  • VBScript
  • PHP
  • Perl
  • Python
  • Ruby
  • ASP

Bir betik dili normalde başka bir dil ile birlikte kullanıldığından dolayı bu dilleri HTML, C++ ve Java ile çalışırken görebiliriz. PHP ile ilgili verdiğimiz ilk kodu tekrar burada paylaşmak istiyorum.

<!DOCTYPE html>
<html>
<body>
 
    <?php
      echo "İlk PHP kodu!";
    ?>
 
</body>
</html>

Görüleceği üzere PHP script dili HTML ile birlikte kullanılmaktadır. Burada JavaScript içinde bir örnek vermek istiyorum.

<!DOCTYPE html>
<html>
<body>
  <h2>JavaScript ile Neler Yapılabilir?</h2>
  <p id="demo">JavaScript, HTML içeriğini güncelleyebilir</p>
  <button type="button" onclick='document.getElementById("demo").innerHTML = "Merhaba JavaScript!"'>
      Tıkla
  </button>
</body>
</html>

Yukarıda JavaScript betik dilinin HTML ile kullanıldığını görmekteyiz.

Betik dillerinin yaygın olarak Worl Wide Web uygulamalarında daha çok görmekteyiz. Öyleki, betik denilince akla öncelikle WWW gelir. Tüm script diller sunucu taraflı değildir. Örneğin Java Script istemci tarafında çalışan bir betik dilidir.

PHP: Hypertext Preprocessor

PHP bir kısaltma olup açılımı “PHP: Hypertext Preprocessor” şeklindedir. Hiper Metin Önişlemcisi olarak Türkçeye çevrilmektedir. Bu başlığı ekleme nedeni, PHP kısaltmasının açılımdaki sıralamaya uymaması ve kısaltmanın ilk harfinin (P) açılımdaki ilk harf (H) olmamasıdır. Bu durum birçok kişiyi şaşırtmaktadır. HTML’den (Hyper Text Markup Language) alıştığımız üzere kısaltmalar genellikle ana kelimelerin ilk harflerinden meydana gelmektedir. Ancak PHP’de bu durum oldukça farklı. Burada iç içe kısaltma kullanılarak farklı bir yol izlenmiştir. Yani Hypertext kelimesinin değilde içte bulunan Preprocessor kelimesinin ilk harfi başa gelmiştir. Dediğimiz gibi buna iç içe kısaltma deniyor.

**Bana en büyük desteğiniz yazılarıma yorum yapmanız ve paylaşmanızdır.