BİL206U-WEB SUNUCU PROGRAMLAMA
Ünite 2: Web 2.0 Destekli Sunucu
Giriş
PHP, HTML (HyperText Markup Language/Hareketli- Metin İşaretleme Dili) içeriği oluşturmak için tasarlanmış basit ama güçlü bir dildir. PHP sayfaları genellikle içinde PHP komutlarının gömülü olduğu HTML sayfalarıdır. PHP bir betik (script) dilidir ve kendi yorumlayıcı ile birlikte kullanılmaktadır.
PHP’ye Giriş Yapıyoruz
Verilerin güvenliği açısından herkesin erişiminden uzak sunucu üzerinde tutulması gereklidir. Kullanıcı bilgisayarlar üzerindeki verilerin bu nedenle sunucu üzerinde tutulması ile kullanıcı-sunucu arasında zorunlu bir iletişim oluşmuştur. HTML CSS ve Jscript gibi dillerin web sunucularında çalışamaması nedeniyle sunucu tarafında çalışan ve kullanıcı ile haberleşmeyi sağlayan dillere olan ihtiyaç doğmuştur. PHP, bu ihtiyacı karşılayacak dillerden bir tanesidir.
PHP Programlama Dili
Sunucu taraflı bir programlama dili olan PHP, dinamik web siteleri ve etkileşimli web uygulamaları oluşturmak için kullanılır. PHP birçok veritabanı yönetim sistemi (örneğin, mySQL) ile çalışabilmektedir. Özellikle mySQL veritabanı sunucusu ile uyumlu bir şekilde çalışabiliyor olması açık kaynak kodlu olma özelliği ile birleştiğinde pek çok şirket tarafından tercih edilebilirliğini artırmıştır. PHP sadece sunucu üzerinde çalışmaktadır.
Geçmişten günümüze sürekli gelişmeye devam eden PHP’nin; PHP1, PHP2, PHP3, PHP4, PHP5, PHP6, PHP7 ve PHP8 gibi sürümleri mevcuttur. PHP tarafından oluşturulan web sayfalarını görüntülemek için kullanıcıların herhangi bir yazılım yüklemesine gerek yoktur. PHP programlama dil ücretsiz olarak kullanılabilmekte ve açık kaynak kodludur. Bu özelliği ile geliştiricilerin kendi kullanımları için genişletmesine veya PHP’nin gelişimine katkıda bulunmasına izin vermektedir.
PHP sunucu taraflı komut dosyası oluşturma ve komut dosyası komut satırı oluşturma amacıyla iki temel yolla kullanılabilir:
• Sunucu taraflı komut dosyası oluşturma • Komut satırı komut dosyası oluşturma
PHP ile ilgili aşağıdaki ifadelere yer vermek mümkündür:
• “Hypertext Preprocessor” sözcüklerinin kısaltması ile PHP adını almış bir programlama dilidir. • Günümüzde kullanılan programlama dillerinden en yaygın olarak kullanılanıdır. • Açık kaynak kodlu ve güvenilirdir. • Kolay uygulanabilir. • Ucuz maliyetlidir. • Performansı yüksektir. • Birçok veritabanı ile kullanılabilir. • Nesneye dayalı (Object Oriented) bir dildir. • Platform özgürlüğü tanır.
PHP’nin Tarihi
PHP’nin ilk sürümü Rasmus Lerdorf tarafından oluşturulmuştur. PHP1 olarak ifade edilen bu sürüm 1995 yılında yayımlanmıştır. 1995’ten günümüze PHP, basit bir script dilinden çok fazla özellikleri olan bir web programlama diline gelişme göstermiştir. Güncel uygulama 2021 yılında PHP Grubu tarafından yayımlanmış ve PHP 8 2021 yılı itibariyle en son sürüm olarak hayatımızda yerini almıştır.
PHP’nin 1.0 versiyonu Rasmus tarafından şu özelliklerle duyurulmuştur:
• Bu araçlar, C ile yazılmış bir dizi küçük, sıkı cgi ikili (small tight cgi binaries) dosyasıdır. • Kendi özel günlük dosyalarınızdaki sayfalarınıza erişimleri günlüğe kaydeder. • Günlük bilgilerin gerçek zamanlı görüntülenmesine imkân tanır. • Günlük bilgilerine özgü güzel bir arayüz sağlar. • Son erişim bilgilerini doğrudan sayfalarınızda görüntülemeye imkân tanır. • Tam günlük ve toplam erişim sayaç işlevlerine sahiptir. • Alanlarına göre kullanıcılara erişimi yasaklar. • Kullanıcıların etki alanlarına dayalı parola koruma sayfaları oluşturmaya imkân verir. • Kullanıcıların e-Posta adreslerine göre erişimlerini izleme işlevine sahiptir. • HTTP_REFERER desteği ile yönlendiren URL’leri izlemeye imkân tanır. • Sunucu desteğine ihtiyaç duymadan sunucu tarafı içermeleri gerçekleştirir. • Belirli etki alanlarından (yani kendi alanınızdan) erişimleri günlüğe kaydetmeme yeteneğine sahiptir. • Formları kolayca oluşturmaya ve görüntülemeye imkân sağlar. • Form bilgilerinin başka belgelerde kullanılabilmesine imkân verir.
Rasmus 1996 yılında şu bilgileri duyurmuştur:
• PHP/FI, sunucu taraflı HTML gömülü bir betik dilidir. Yerleşik erişim günlüğü ve erişim kısıtlama özelliklerine sahiptir ve ayrıca mSQL ve/veya Postgres95 arka uç veri tabanlarına gömülü SQL sorgularını destekler. • Erişim günlüğü özelliğine sahiptir. • Erişim kısıtlaması özelliğine sahiptir. • mSQL desteğine sahiptir. • Postgres95 desteğine sahiptir. • DBM desteğine sahiptir. • RFC-1867 dosya yükleme desteğine sahiptir. • Değişken, Dizi ve ilişkili diziler. • Statik değişkenler ve özyineleme ile kullanıcı tanımlı işlevler. • Koşullar ve while döngüleri. • Genişletilmiş normal ifadeler.
• Ham http üstbilgi kontrolü. • Dinamik GIF görüntüsü oluşturma.
Rasmus 1998 yılında ise şu bilgileri duyurmuştur:
• Popüler komut dosyası dilinin yeni sürümü PHP 3.0, tüm büyük işletim sistemleri (Windows 95/NT, Unix’in çoğu sürümü ve Macintosh) ve web sunucuları (Apache, Netscape sunucuları, WebSite Pro ve Microsoft Internet Information Server dahil) için destek içermektedir. • PHP 3.0 ayrıca Oracle, Sybase, Solid, MySQ, mSQL ve PostgreSQL’in yanı sıra ODBC veri kaynakları da dahil olmak üzere çok çeşitli veri tabanlarını desteklemektedir. • Yeni özellikleri arasında kalıcı veritabanı bağlantıları, SNMP ve IMAP protokolleri için destek ve dili yeni özelliklerle genişletmek için yenilenmiş bir C API yer almaktadır.
PHP 4.0 22 Mayıs 2000’de yayımlandı. Daha sonralarında PHP 5.0, PHP 6.0, PHP 7.0 ve PHP 8.0 yayımlandı. PHP 8.0 sürümünün ise kararlılığının oldukça yüksek olduğu ve sunucu tarafında kod işlemede bazı büyük ilerlemeler kaydedildiği belirtilmektedir.
PHP’nin Yaygın Kullanımı
Circle Net Inc.’in Baş Teknoloji Sorumlusu Troy Cobb, “Circle Net’te PHP’nin hızlı web tabanlı uygulama geliştirme için en sağlam platform olduğunu” belirtmektedir.
12 Haziran 2022 tarihinde elde edilen sonuçlara göre; PHP, sunucu taraflı programlama dili, bilinen tüm web sitelerinin %77,5’i tarafından kullanılmaktadır. Bu oranı en yakın ASP.NET’in sırası ile %8.6 ve %7.8 olarak izlediği görülmektedir. PHP versiyonlardan en çok kullanılanın %71.6 ile PHP 7.0 olduğu görülmektedir.
PHP’yi Yüklüyoruz
PHP kodunu bir tarayıcıda görüntülemek için, kodun önce PHP modülünün kurulu bir web sunucusunda ayrıştırılması gerekmektedir. PHP ortamını kurmanın kolay bir yolu, PHP, Perl ve MariaDB ile önceden yüklenmiş olarak gelen XAMPP adlı popüler Apache web sunucusunun dağıtımını indirip kurmaktır.
XAMPP
Xampp bir web sunucusu yazılımıdır. Bilgisayara kurulduğunda PHP, Mysql, Tomcat vb. paketleri kurarak yerel bir sunucu oluşturmanızı sağlar. XAMPP’ı kurmamızın temel sebebi sunucu taraflı programlama dillerinin sadece sunucu üzerinde çalışmasıdır.
XAMPP’ın kurulum aşamaları:
1. Google arama motorundan “XAMPP” yazınız ve Download seçeneğini tıklayınız. 2. İşletim sisteminize uygun sonuçlar otomatik olarak karşınıza çıkacaktır. Buradan indirmek istediğiniz PHP sürümünü seçiniz.
3. İndirdiğiniz dosyaya tıklayınız ve karşınıza çıkan ekranda next tuşuna basınız. 4. Yüklemek istediğiniz bileşenleri (hepsi yüklenebilir) seçiniz ve next butonuna basınız. 5. XAMPP ‘ı nereye kuracağınızı seçiniz ve next butonuna basınız. 6. Dil seçimini yapınız ve next butonuna basınız.
XAMPP bilgisayarınıza kurulduğunda istenen servisleri başlatarak kullanmaya başlayabilirsiniz.
PHP ile etkileşimli programlar oluşturmak için aşağıda yazılımlar gereklidir:
• PHP yorumlayıcı • Veritabanı (kayıt ekleme, silme, güncelleme veya kayıt sorgulama işlemleri için) • Veritabanına kolay erişim için yardımcı yazılım (örneğin MySql veritabanı için kullanılan PhpMyAdmin yazılımı kullanılabilir)
PHP’de Geziniyoruz
Sunucu taraflı bir programlama dili olan PHP ile yazılan kodlar istemci tarafından görüntülemeyecektir. İstemci sadece PHP kodlarının dönüştürüldüğü HTML kodlarını görüntüleyebilir. PHP kodu, HTML kodlarının içine 4 farklı şekilde yazılabilir:
• Kısa Stil: <? PHP kodunun yazıldığı alan ?> • XML Stil: <?php PHP kodunun yazıldığı alan ?> • Script Stil: <script language=’php’> PHP kodunun yazıldığı alan </script> • Asp Stil: <% PHP kodunun yazıldığı alan %>
Kısa Stil ile yapılmış PHP echo kodu içeren bir örnek:
<html> <head> <title>Php’de Geziniyorum</title> </head> <body> <?php echo “PHP ile çalışmak harika”; ?> </body> </html>
Bu örnek için çıktı şu şekilde olacaktır:
PHP ile çalışmak harika