7

PHP’ye Giriş

PHP, sunucu taraflı çalışan, HTML içine gömülebilir bir betik(script) ve programala dilidir. İlk kez 1995 yılında Personel Home Page kısaltması olarak Rasmus Lerdorf tarafından geliştirilmiştir. Bu gün ise Hypertext Preprocessor olarak isimlendirilmektedir.

Yazım dili C, Perl, Java dillerine benzeyen PHP, kişisel web sayfalarından bloglara, forum ve portal sistlemlerinden CMS’lere kadar geniş bir yelpazede yaygın olarak kullanılmaktadır.

PHP hakkında “nereden ve nasıl başlamalıyım?” sorusuna sahip olanlar için kaleme aldığımız bu yazıda, öncelikle PHP’nin Windows ve Linux platformarında kurulumunun nasıl gerçekleştirileceğini, ardından da basit bir “Merhaba Dünya” uygulmasının nasıl yazılacağını anlatmayı hedefliyoruz.

 

1-PHP Kurulumu

Yukarıda PHP için “sunucu taraflı çalışan, HTML içine gömülebilir bir betik(script) ve programala dili” dedik. Buradan da anlaşılacağı üzere hemen hemen her platform altında çalışabilen PHP’nin, PHP betiklerini yorumlayıp HTML çıktısını üretecek bir yorumlayıcı ve sunucuya ihtiyacı vardır. İşte PHP kurulumu ile kastettiğimiz, bu ihtiyacın giderilmesidir.

 

A-Windows ortamında kurulum

Anılan ihtiyacı Windows altında karşılayan pek çok yazılım var. Bunlar arasında popüler olanlardan PHPTriad, EasyPHP ve WampServer sayılabilir. Bu araçlarla sisteminize PHP için, sunucu-yorumlayıcı-veritabanı üçlüsünü sorunsuzca kurup, localde PHP kodlarınızı çalıştırabilirsiniz.

Ben bu anlatımda, şahsen kullandığım WampServer’ı baz alacağım. WampServer’ın kurulumu(diğer 2 uygulama gibi), standart bir Windows uygulamasının kurulumundan farksızdır. WampServer setup dosyasını şu adresten indirebilirsiniz: WampServer

İlgili web adresini ziyaret ettiğinizde, son sürüm(2.1) WampServer kurulumu ile sisteminize

  • -Apache 2.2.17
  • -Php 5.3.5
  • -Mysql 5.5.8
  • -PhpMyadmin 3.2.0.1
  • -SQLBuddy 1.3.2
  • -XDebug 2.1.0-5.3
  • -webGrind 1.0
  • -XDC 1.5

bileşenlerinin kurulacağını görebilirsiniz. İşletim sistemimize uygun(32/64 bit) setup dosyasını indirip kuruluma başlıyoruz. Vista/Win7 kullanıcılarının, güvenlik ayarları kaynaklı aksaklıklar yaşamaması için, setup dosyasını admin yetkisi ile çalıştırmalarını öneririm.

Next ile devam ediyoruz.

Lisans sözleşmesini kabul ediyoruz, elimiz mahkum 🙂

Kurulum dizini için farklı bir konum düşünüyorsanız, bu aşama tamda bunun için.

Masaüstü ve hızlı başlat’ta WampServer icon’u arzuluyorsanız, bu aşamada tercihlerinizi yapabilirsiniz.

Yaptığımız tercihlerden emin isek bu aşamada install diyoruz ve kurulum başlıyor.

Son aşamada bize varsayılan tarayıcı/browser tercihimiz soruluyor.

Ardından mail parameters ekranı geliyor, bu aşamada localde kullanmayacağımız detaylarla uğraşmıyor, bir adım sonrasına geçiyor ve “Finish” diyerek kurulumu tamamlıyoruz.

Şekilde görüldüğü gibi Apache ve MySql servislerini yönetebileceğimiz, aynı zamanda PHP ayarlarını düzenleyebileceğimiz görsel bir arayüzümüz var. Kurulum aşamasında seçtiğimiz konumda dizin yapısı aşağıdaki gibi oluşacaktır. Burada www dizini, Apache sunucusunun yorumlayacağı PHP betiklerini barındıran dosyalarımızın, bir diğer değiş ile PHP projelerimizin yer alacağı dizin olacak.

Tarayıcı/browser’ımız ile http://localhost adresini ziyaret ettiğimizde bizi şöyle bir sayfa karşılamalı.

Sayfada gördüğümüz phpinfo() bağlantısını ziyaret ettiğimizde Apache, PHP ve MySql konfrigasyonumuza dair bilgiler karşımıza gelecektir.

 

B-Linux ortamında kurulum

Linux ortamında kurulumda Pardus 2011’i baz alacağım, ancak belirtmeliyim ki diğer Linux dağıtımlarında da aşağı yukarı aynı adımlarla PHP kurulumunu gerçekleştirebilirsiniz. Ülkemizde de yaygın olarak kullanılan Ubuntu’da PHP ve diğer bileşenlerin kurulumu için şu adrese müracat edebilirsiniz: http://wiki.ubuntu-tr.net/

Terminal/Uçbirim’i açıyor, adımlarda parola ile uğraşmamak için öncelikle “su” komutu ile super user yetkisi alıyoruz.

Ardından aşağıdaki komut ile depo güncellemesi yapıyoruz.

pisi update-repo

Sonraki adımda Apache ve MySql’i kuruyoruz

pisi it apache mysql_server mod_php

Sıradaki komut

mysql_install_db

Şimdi Apache ve MySql’i yeniden başlatıyoruz

service mysql-server start

service apache start

Bu aşamadan sonra tarayıcı/browser’ımız ile http://localhost adresini ziyaret ettiğimizde bizi şöyle bir sayfa karşılamalı

Apache ve MySql servislerinin bilgisayar açıldığında otomatik olarak başlamasını istiyorsanız aşağıdaki komutları uygulamalısınız.

service mysql-server on

service apache on

Yok eğer bu servisleri manuel olarak başlatmak istiyorsanız, Pardus’un Servis Yöneticisi’ni kullanabilirsiniz.

Kurulum işlemleri tamamlandıktan sonra, son olarak bahsetmemiz gereken husus, Apache sunucusunun yorumlayacağı PHP betiklerini barındıran dosyalarımızın, bir diğer değiş ile PHP projelerimizin yer alacağı dizin ve o dizine dair root yetkisi olacak. Bu dizin var/www/localhost dizinidir.

Linux dosya sistemi yapısı gereği kimi dizinlere root yetkisi olmadan bir dosya kaydedemez, varolan dosyayı güncelleyemezsiniz. Bu sebeple localde PHP ile kalışırken sorunlar yaşamanız olası. Bu soruna Pardus altında, diğer dağıtımlara nazaran uygulaması çok daha kolay bir çözüm, /home/kullanıcı_adı dizini altında public_html adında bir dizin oluşturmaktan ibarettir.

Bu dizin altında oluşturduğunuz PHP dosyalarını çalıştırmak için yapmanız gereken tarayıcı/browser’ınızdan http://localhost/~kullanıcı_adı/dosyaadı adresini ziyaret etmektir.

Eğer “hayır, ben var/www/localhost dizini altında çalışmak istiyorum” diyorsanız, terminal/uçbirim’den chown -R kullanıcı_adı:dizin şeklinde yetkilendirme yapmanız yeterlidir. Fakat bunu şahsen tavsiye etmem.

 

2-İlk PHP uygulamamız “Merhaba Dünya”

Kurulum işlemleri tamamlandığına göre, artık PHP dünyasına adet olduğu üzere basit, ancak PHP’yi tarif ederken kullandığımız ifadeleri de örneklendirecek bir “merhaba dünya” uygulaması ile giriş yapabiliriz.

Sisteminizde kurulu herhangi bir metin editörünü açarak önce pür HTML kodlarından ibaret aşağıdaki satırları, merhaba.php adıyla, sisteminizde Apache sunucusunun “yorumlama” için bakacağı dizin altına kaydedin.




Merhaba Dünya



PHP Dersleri-1

Merhaba Dünya...

Ardından tarayıcı/browser’ımızdan bu sayfayı çağıralım, sayfa çıktısı aşağıdaki gibi olacaktır.

Tarayıcı/browser’ımızın sayfa kaynağı görüntüleme hizmetini kullandığımızda göreceğimiz, kaydettiğimiz pür HTML kodları olacaktır.

Şimdi sıra, ilk PHP kodlarımızı yazmaya ve böylelikle “HTML içine gömülebilir” denirken neyin kastedildiğini açıklığa kavuşturup, “PHP betiklerinin yorumlanıp HTML çıktısının üretilmesi”nden tam olarak neyin kastedildiğini ifadeye geldi.

Tekrar metin editörümüz ile merhaba.php dosyasını açalım ve kodu aşağıdaki gibi değiştip kaydedelim.





Merhaba Dünya



PHP Dersleri-

Ders Tarihi:

Merhaba Dünya! Bu dersimizde PHP betiklerinin HTML kodu içine nasıl gömüldüğünü, PHP yorumlayıcısının PHP betiklerini HTML koduna dönüştürmesini, sunucu taraflı çalışan bir programlama dili ile nasıl dinamik içerik oluşturulabilineceğine dair basit bir örneği işledik...

Saat kaç: ".date("g:i a")."

"; ?>

Kodu satır satır inceleyelim.

8. satırda “<?php” etiketi dikkatinizi çekmiştir. Bingo! İşte ilk PHP betiğimiz tamda bu etiketle başlıyor.

Bir PHP betiğinin HTML, JavaScript yada bir başka dil içine gömülmesi ile kastedilen şey, 8 ile 12. satırlar arasında gördüğünüz yazım tekniğidir, bu anlamda daha çarpıcı bir satır 13. satırdır.

<?php” ve “?>” etiketleri, PHP çözümleyici/yorumlayıcısının, çözümleme/yorumlama işleminin başlayacağı ve biteceği satırları belirler. Yani bütün PHP kodu/betiği bu iki etiket arasına yazılır.

Bu iki etiket öncesi yada sonrasında farklı dilde bir kod varsa(örneğin HTML), burada “PHP kodunun anılan kodun içine gömülmesi” işlemi gerçekleşmiş olmaktadır.

10. satırda iki şey birden görüyoruz. Birinci olarak bu satırda bir değişken tanımlıyoruz, ikinci olarak PHP içinde açıklama satırlarının kullanımını görüyoruz.  PHP’de değişken isimleri “$” sembolü ile başlar, dolayısıyla bu satırda dersNo adında bir değişkeni hem tanımlıyor hem tanımlanan bu değişkene ilk değer atamasını gerçekleştiriyoruz. Burada, başlangıçta PHP söz diziminin ayrıntılarına girmek amacında olmasak da, önemli bir noktaya değinmeliyiz. PHP, büyük-küçük harf duyarlı bir dildir, dolayısıyla “$dersNo” ile “$DersNo”nun iki ayrı değişken olarak yorumlanacağı unutulmamalıdır. Satırın devamında sağa yatık iki slash’ın arından bir açıklama metni görüyorsunuz. PHP kodu içinde, kodla ilgili bilgi veren, hatırlatma yada bir başka amaçla yazılan tek satırlık açıklamalar için bu yazım tekniği kullanılır. Çok satırlı açıklamalar ise “/* */” arasına alınır.

13. satıra geldiğimizde aslında tam olarak “HTML içine gömülmüş PHP kodu” ile karşılaşıyoruz. Headings etiketi içine, 10. satırda tanımlayıp, değer ataması yaptığımız dersNo değişkenini, PHP’de bir yada daha fazla dizgeyi çıktılamak için kullanılan echo ile yazdırıyoruz. Böylelikle pür HTML hali ile “PHP Dersleri-“ olacak çıktıya, 10. satırda yaptığımız rakamsal atamayı iliştiriyor, çıktının “PHP Dersleri-1” olmasını sağlıyoruz.

14. satırda da benzer uygulamayı görüyoruz. Burada da 11. satırda date fonksiyonu ile kendisine değer atadığımız dersTarihi değişkenini çıktılıyoruz.

19. satırda ise PHP kodu içinde HTML kodu kullanımını görüyoruz. Buradan da anlayabileceğiniz gibi PHP kodu, HTML kodunu da sarmalayabilir.

Şimdi tarayıcı/browser’ımızdan merhaba.php dosyasını tekrar çağıralım.

Şimdi de tarayıcı/browser’ımızın sayfa kaynağı görüntüleme hizmetini kullanıp, üretilen HTML çıktısını görelim.

Gördüğünüz gibi karşımıza çıkan pür HTML kodudur. Tanımlayıp değer atadığımız değişkenler, bunların headings etiketleri içine gömülmüş olması ve diğer PHP kodlarını bu çıktıda görmüyoruz. Buradan da anlaşılacağı üzere PHP kodları, hiçbir sürette tarayıcı/browser’ımızda görünmez. PHP yorumlayıcısı, PHP betiklerinin HTML çıktısını istemciye gönderir ve her türlü görselliği HTML kodu oluşturur.

Kodumuzun 4. satırında sayfamızın her 60 saniyede bir kendisini tekrar yüklemesini istediğimizden, kodumuzun 19. satırı her defasında çalışma zamanının saat bilgisini ekrana basacak ve dinamik içerik üretimine dair basit bir örnekte böylece sağlanmış olacaktır. Aynı şekilde 14. satırda da Tarih bilgisini ekrana bastırdığımızdan, yeni güne girilmesi ile üretilen içerik de değişecektir.

Toplam 22 satırdan ibaret, içinde 5 satır PHP betiği barındıran bu kod parçası ile PHP dünyasına adım atmış bulunuyorsunuz. Localde yapacağınız denemelerde bu kod üzerinde küçük değişiklikler yaparak, anlatmaya çalıştığım hususları daha iyi kavrayabilirsiniz. Örneğin 10. satırda dersNo değişkenine farklı atamalar yapıp sayfayı tekrar yükleyip sonucu gözlemleyebilir, echo ile arzuladığınız metinleri, HTML kodu ile ister sarmalayarak ister yalın olarak çıktılayabilirsiniz.

Kişisel web sayfalarından bloglara, forum ve portal sistlemlerinden CMS’lere kadar geniş bir yelpazede yaygın olarak kullanıldığını başlangıçta ifade ettiğimiz PHP çok geniş bir community/topluluk tarafından desteklenmektedir.

Bu bağlamda PHP ile yeni tanışan arkadaşlarımızın, internet ortamında sayısız döküman/makale yanı sıra, en başta PHP’nin kendi referans dosyası olan ve PHP’ye dair herşeyi bulabilecekleri PHP Manuel’e göz atmalarını kesinlikle tavsiye ederim. PHP Mamuel’i online olarak okumak mümkün olduğu gibi, bilgisayarınıza download edip, localde de okumanız mümkün.

PHP Manuel Türkçe klavuzuna şu adresten ulaşabilirsiniz: http://php.net/manual/tr/index.php

PHP dünyasına hoşgeldiniz…

vikipedi
bing video

Hüseyin Akdogan

7 Comments

  1. Windows için WAMP yükleyerek kurulum yapılabildiği gibi Linux’ta da LAMP yükleyerek daha kolay bir kurulum yapabilirsiniz.

  2. Cok guzel anlatmısınız elınıze saglık 🙂

  3. Sene olmuş 2016 hala WampServer makaleleri

  4. not defteri ile PHP yazamıyomuyuz 😀

Bir Cevap Yazın