Yapı Taşları - İsmail KIRBAŞ ile Web Sitesi Tasarımı
İsmail Kırbaş ile Tasarım Yolculuğu [AnaSayfa] İsmail Kırbaş ile Tasarım Yolculuğu [AnaSayfa] İsmail Kırbaş ile Tasarım Yolculuğu [AnaSayfa]
 Site Haritası 
 
Site Map
Ana SayfaYeriniz | Ana Sayfa | Makaleler | Programcılık | PHP | Yapı Taşları

Diğer Yazılar
PHP de Dosya İşlemleri
PHP de Metin Düzenleme İşlemleri
Operatörler
Fonksiyonlar
Veri Aktarımı
Sekmeli Menü 1
Sekmeli Menü 2
Hızlı RSS Hazırlama
Web Formları İçin Güvenlik Kodu Oluşturma
PHP ye Giriş
PHP ye Giriş 2
Php ile COM Port Kontrolü
Kaya Sağlamlığında Kodlama


E-posta Gönderin Yorum Yazın
Güvenlik Kodu:3600Güvenlik Kodu:3600Güvenlik Kodu:3600Güvenlik Kodu:3600




En Son Okunan 10 Makale
  1. TOR ile Internet’te Kimlik Gizleme
  2. Web Tasarımı Aslında Ne Demek
  3. Renklerin Dili - Beyaz
  4. Görsel İletişim Tasarımı Eğitimi Nasıl Verilmeli?
  5. Site İçi Arama
  6. Yönetim ve Organizasyon
  7. İş hayatı
  8. Grafik Tasarım Ürününün Öğeleri
  9. Fonksiyonlar
  10. Site Tasarımında Temel İlkeler (3)
 
Yapı Taşları >
Yazı Tipi KüçültYazı Tipi BüyütAna SayfaYazıcıdan ÇıkarPDF Belgesi Olarak GörüntüleFavorilerime EkleArkadaşıma Tavsiye EdeceğimRTF (Word Dokümanı) olarak görüntüle

PHP'ye Hızlı Giriş

PHP (eski adıyla Personel Home Page, şimdiki adıyla Hypertext Preprocessor), sunucu tarafında çalışan (server-side) bir betik (script) dilidir, bu nedenle yazdığımız programlar birer düz yazı dosyasıdır. Web sunucumuzun ayarlarına bağlı olarak, yazdığımız PHP programlarını kaydederken dosya uzantılarını .php yada .phtml olarak belirtmeliyiz.

PHP dosyalarımızın bulunduğu makinedeki web sunucusu programı (Örneğin Apache), ziyaretçilerden gelen istekler doğrultusunda hazırladığımız programları, içerdiği PHP modulü sayesinde çalıştırır ve elde ettiği çıktıları saf HTML (ve varsa Javascript, VBScript) kodu olarak ziyaretçiye iletir.

Günümüz internetinde PHP gibi sunucu tabanlı dillerin büyük yararları vardır. Örneğin bir gazete sitesini düşünelim. Bu sitenin belli bir tasarım bütünlüğü olmalıdır. Sitede dolaştığımız her sayfada üstte gazetenin simgesini, solda köşe yazarlarının adlarını görürüz. Her köşe yazarının da gün geçtikçe artan yazıları vardır. Köşe yazarının en güncel yazısının olduğu sayfada eski yazılarının sıralı bir listesi bulunmaktadır.

Şimdi bu sitedeki tüm sayfaların durağan (statik) saf HTML sayfalar halinde hazırlandığını farzedelim. Sitede yüzlerce sayfa olduğu muhakkak. Bu yüzlerce sayfanın her birinde, sitenin tasarım bütünlüğünü koruması için, üstte gazete simgesi, solda yazarlarin listesi bulunmaktadır. İlerde bu listeye bir ek yapilmasi gerekiyorsa tüm sayfalar gözden geçirilmeli ve hepsine o ek yapılmalıdır. Ya da yazarlardan birinin yeni bir yazısı eklenmişse yazarın arşivinin düzgün olması için tüm eski yazılarının bulunduğu sayfalar gözden geçirilmeli ve arşiv kısımlarına bu yeni yazının bağlantısı da eklenmelidir.

Anlaşılacağı üzere bu senaryo katlanılabilir bir senaryo değil.

Bilişimci gazeteci yazar Dr. Hakkı Öcal, yazılarından birinde HTML'le ilk tanıştığı zamanlarda farkettiği önemli bir sorundan bahsetmişti. Bu sorun HTML ile nasıl program yapılacağı idi. Daha doğrusu bu, HTML'in en büyük sorunuydu. HTML ile program yapmak, hazırladığımız siteyi bu program çerçevesinde sunmak mümkün değildir. Bu açığı bir nebze olsun kapatmak amacıyla tarayıcı (browser) üreticileri bazı diller geliştirdiler: Javascript ve VBScript. Ama bunlar da yeterli değil çünkü Javascript yada VBScript programları ziyaretçi tarafında (client-side) çalışırlar ve boyutları ne kadar büyürse ziyaretciyi de o kadar zor durumda bırakırlar. Üstelik bu saydığımız dillerden VBScript sadece Microsoft IE tarafından yorumlanabiliyor, Javascript ise her ne kadar tüm tarayıcılar tarafından yorumlanabiliyorsa da ticari rekabet yüzünden hepsiyle %100 uyumlu değil. İşte bu noktada bize tarayıcılardan bağımsız, ziyaretçiyi yormayacak (yani sunucuda çalışacak) ve bizi site yada web tabanlı program hazırlarken büyük dertlerden kurtaracak (burada bir özyinelemeli (recursive) döngü var: zaten bu çözüm ortaya çıkmasaydı web tabanlı program diye bir şey olmayacaktı) bir çözüm gerekiyor. Bu çözümler birden fazla. Açık kod olarak geliştirilen PHP, Microsoft ürünü ASP (Active Server Pages) ve Sun ürünü JSP (Java Server Pages).

Hikayeye tersinden başladık değil mi?

Gazete sitesi senaryomuza hızlı bir dönüş yapalım. PHP sayesinde sitemizde bulunması gereken ve sürekli tekrar eden öğeleri bir fonksiyon olarak tanımlayabilir yada bir dosyaya yazıp her sayfada "bu dosyayı da kullan" diyebiliriz. Köşe yazılarının okunacağı sayfaların her birini ayrı ayrı yapmak yerine bir tane sayfa yapıp parametreler ile hangi yazı okunmak isteniyorsa harici bir dosyadan yada veritabanından çağırarak o yazıyı gösterebiliriz. Yazar listesini de tek bir harici dosyada (yada yine veritabanında) tutabiliriz. Böylece ekleme yada çıkarma yapmamız gerektiğinde sadece o dosyada işlem yapmamız kafi olur. Böylece sitemizin güncellemesi, tasarımının değişmesi, site içinde arama yapılması (bilhassa veritabanı kullanıyorsak) gibi işlemler son derece kolay olur.

Başlıyoruz... Sayfa başına geri dön..

Genel Yazım Kuralları

PHP komutları aşağıdaki şekillerde yazılabilir.

... ?>

... ?>



PHP, diğer betik diller gibi çok esnek bir dildir. Oluşturacağımız .php uzantılı dosyalarda tamamen PHP komutları bulunmasına gerek yoktur, sayfamızı HTML etiketleri (tag) ile hazırlayıp sadece gerektiği yerlerde yukardaki yazım kurallarından biriyle PHP kodumuzu yazabiliriz.

Örneğin;



    


    print "

Merhaba Dünya

"
?>



Bu kodu out1.php olarak kaydedip tarayıcımızdan baktığımızda aşağıdaki görüntüde de görüldüğü üzere kodumuz çalışır ve ziyaretçiye sadece HTML çıktı gönderilir.



  PHP, temelde C dili yazım şeklini (notasyon) kullanacak şekilde hazırlandığı için her komutun sonunda noktalı virgül ( ; ) işareti konmalıdır.


Hazırlayacağımız PHP programları elbette örneğimizdeki kadar basit olmayacaktır. Programımızın neresinde ne yaptığımızı gerek bize, gerekse okuyacak, inceleyecek veya kullanacak başka programcılara bilgi vermesi için yorum satırları kullanmalıyız. Tek satırlık yorumlar için ( // ) veya ( # ) kullanabiliriz. Çok satırlı yorumlarda yorumun başına ( /* ) sonuna da ( */ ) ibaresi koymalıyız.

//Burası tek satırlık yorum..
print "PHP Kursu..
"
;

//Burası da tek satırlık yorum..
print "PHP Kursu..
"
;

/* Çok satırlı yorum
burdan başlıyor..
Burası da yorumun sonu*/
print "PHP Kursu..
"
;
?>


Ekrana basılacak olan metin yada HTML kodlarının düzenli görünmesi için "yeni satır" ve "tab boşluğu" kullanmalıyız. Yeni satır için ( n ), tab boşluğu için ( t ) belirteçleri kullanılır. PHP'de metinsel ifadeler genellikle çift tırnak ( " ) yada tek tırnak ( ' ) ile belirtilir. Bu nedenle metnin içinde geçmesi gereken tırnak işaretleri varsa ( " ) yada ( ' ) belirteclerini kullanmalıyız. Ayrıca daha sonra göreceğimiz üzere PHP değişkenleri her zaman dolar işareti ( $ ) ile başlayacağı için metnimizin içinde geçmesi gereken dolar işaretlerinin değişken olmadığını belirtmemiz gerek. Bu da metnin içinde geçmesi gereken dolar işareti varsa ( $ ) olarak belirtilmesi gerekiyor demektir.

Tüm bu özel karakterlere ESCAPE karakterleri denir ve aşağıda listesi mevcuttur.

' Tektırnak
" Çift Tırnak
Ters Bölü
$ Dolar işareti
n Yeni Satır
r Satır Başı
t Sekme (Tab)
Sayfa başına geri dön..

Değişkenler

Programcılıkta şüphesiz en çok kullanılan unsurlar değişkenlerdir. Değişken, kabaca içine farklı farklı değerler alabilen ve belli bir adı olan ayrılmış bellek bölgeleridir. Örneğin YIL isimli bir değişken tahsis edersek bunun içine 1998, 1999,2000 gibi değerler koyabilir ve daha sonra bu değişkeni kullanabiliriz.

Değişkenler sayesinde esneklik de kazanmış oluruz. Örneğin programımızın içinde pek çok yerde email adresimizi yazdığımızı düşünelim. Email adresimiz ilerde değişebilir. Böyle bir değişiklik olduğunda programımızdaki yazdığımız adres satırlarını bir bir bulup değiştirmek gerekir. Halbuki programımızın en başında EMAIL adlı bir değişken tahsis edip program boyunca bu değişkeni kullanırsak olası bir değişiklikte sadece bu değişkenin içini değiştirmek yeterli ve zahmetsiz olacaktır.

Bazı programlama dillerinde değişkenler kullanılmadan önce tanımlanmak zorundadır. PHP'de bu mümkündür fakat zorunlu değildir.Değişkenler, isimlerinin önlerine dolar ( $ ) işareti konarak tanımlanır. Değişken isimleri karakterseldir (hem harf hem rakam içerebilir) ancak rakamla başlayamaz. Ayrıca değişken isimlerinde Türkçe Özel karakterleri (öçşığüÖÇŞİĞÜ) kullanılamaz.

Bir kaç örnek;

$email;        //Doğru Kullanım
$url;      //Doğru Kullanım
$öğrenci_no;       //Yanlış Kullanım

//Değişkenleri tanımlarken değerlerini de belirtebiliriz.

$email="info@kuzen.net";     //Doğru Kullanım
$1ogrenci="Sefa Avcılar";        //Yanlış Kullanım
$ogrenci1="Arif Kerem Kabil";        //Doğru kullanım
$web_site="http://acikkod.org";      //Doğru Kullanım
$_url="http://www.bthayat.net";      //Doğru Kullanım
$yaş=12;       //Yanlış Kullanım
$yas=12;       //Doğru Kullanım
?>


Değişkenlerin kullanımına da bir kaç örnek verelim (Örnekte kullanılan print fonksiyonu tarayıcı ekranına yazmayı sağlar, daha sonra anlatılacaktır.):

$email="info@kuzen.net";

print 
"1.Yol) Email adresim: ";
print 
$email;
print 
"
"
;

/* Daha kullanışlı olarak aynı işi
şu şekilde de yapabiliriz: */

print "2.Yol) Email adresim: $email 
"
;

// yada

print "3.Yol) Email adresim: ".$email."
"
;

?>


Bu kodun çıktısı;

1.Yol) Email adresim: info@kuzen.net
2.Yol) Email adresim: info@kuzen.net
3.Yol) Email adresim: info@kuzen.net


  PHP'de büyük / küçük harf ayrımı vardır. Dolayısıyla $email, $Email yada $EMAIL aynı değildir.


Değişkenler tuttukları değerlere göre farklı bellek alanı işgal ederler. PHP de her programlama dilinde olduğu gibi ancak belli veri tipleri üzerinde belli işlemleri yapabilir. Mesela iki sayı içeren iki değişkeni toplayabilir (10 ve 15 gibi) ama içinde karektersel ("Merve" ve "Avcı" gibi ) veri bulunan iki değişkeni toplayamaz (fakat ardarda ekleyebilir).

PHP'de tanımlayabileceğimiz değişken tipleri ve örnekler aşağıda sıralanmıştır.

Tamsayı (integer)
3,-155,2001 gibi

Çift (Double)
1.2334,1.2e5 gibi

Karaktersel (String)
"Hayat","3.Sayfa" gibi

Mantıksal (Boolean)
TRUE (doğru), FALSE (yanlış) gibi..

Dizi (Array)
( İlerde değinilecek...)

Nesne (Object)
( İlerde değinilecek...)



Not: Yazılar konusundaki yorumlarınız için lütfen Yorum Yazın bölümümüzü kullanın.

Yazar : Hasan Civelek
Son Güncelleme : 13 Ekim 2017, Cuma
Sayfa Sürümü : 1
Okunma Adedi : 8,149
Son Okunma : 2017-12-10 01:06:13
Kaynaklar :

http://www.bthayat.net/site/yazi_goster.php?id=130


Yapı Taşları PHP de Dosya İşlemleri
© [Site Haritası]
| Makaleler | Seyir Defteri | Kaynaklar | İndirin | İletişim |

RSS dosyasını görmek için tıklayınız. RSS dosyasını görmek için tıklayınız.XML versiyonu için tıklayınız WAP versiyonu için tıklayınız Bu site DyNA İçerik Yönetim Sistemi üzerinde çalışmaktadır.
İsmail KIRBAŞ ile Tasarım Yolculuğu Anasayfa İsmail KIRBAŞ ile Tasarım Yolculuğu Anasayfa İsmail KIRBAŞ ile Tasarım Yolculuğu Anasayfa
ismail kırbaş ile web sitesi tasarimi sitemap ismail kırbaş ile web sitesi tasarimi sitemap
  Sitemizde 3 kişi çevirimiçi | Bugün =126 | Dün =125 | Bu Ay=1,735 | Günlük En Fazla=1,109 tekil ziyaretçi