PHP Dersleri
PHP Nedir? Yenir mi?
Açılımı PHP: Hypertext Preprocessor olan PHP, sizin belirlemiş olduğunuz kodlara göre dinamik sayfalar oluşturmanızı sağlar. Tamamen sunucu tabanlı olarak çalışan bu yorumlama dilinin genel çalışma mantığı şudur;
- Kullanıcı tarayıcıdan istek yapar.
- Sunucu eğer PHP programını çalıştırması gerekiyorsa, çalıştırır.
- PHP, sunucu yardımıyla (bknz. [1]) istek yapılan sayfanın PHP kodlarını alır, yorumlar ve eğer çıktı varsa HTML halindek çıktıyı kullanıcıya sunucu yoluyla yollar.
- Ziyaretçi, PHP'nin kendisine yolladığı HTML çıktısını görür ve sunucuyla (dolayısıyla PHP'yle de) bağlantısı kesilir.
Bu nedenle PHP'yi sadece kodları yorumlayıp ekrana çıktı basan bir dil olarak da düşünebilirsiniz. (GTK+ olaylarını bir kenara bırakırsak tabi )
[1] => PHP, sadece Apache veya IIS gibi bir sunucuya ihtiyaç duymaz. Örneğin Ncurses uygulamaları gibi uygulamalarda, PHP kodunun başına 'shebang' olarak #!/php/yolu gibi birşey yazarsanız, uygulamayı çalıştırığınızda PHP kendisi yorumlayacaktır.
Tarihçe: Artık Vikipedi'den falan bakarsınız, uzatmayalım derim
Derslere başlayalıım...
PHP, HTML içine gömülebilen bir dil olduğu için sunucunuzdaki PHP dosyasında PHP işaretleyicileri dışına bağımsız olarak istediğiniz gibi HTML kodu yazabilirsiniz. Performans açısından bu şekilde yazmak en iyi yöntem olduğu gibi, işaretleyiciler () arasına yazılmayan kodları PHP yorumlamadan geçer...
- PHP İşaretleycileri (C ve C++'daki 'pointer'larla karıştırmayın, 'tag' anlamında yazdım )
php.ini içinde öntanımlı olarak gelen PHP kodu başlangıç ve sonlandırış işaretleri olarak belirlenmiştir. Bu işaretleyicilerin arasına istediğiniz PHP kodlarını yazabilirsiniz. Ayrıca PHP geliştiricileri tarafından farklı sunucularda da uyumlu çalışması için önerilen kullanım şekli budur
Bunların dışında, eğer php.ini dosyasında kullanımlarına izin verilmişse, aşağıdakileri de kullanabilirsiniz;
-
- ... ?> (PHP4 ve PHP5'te açık olarak gelmesi gerekir)
- <% ... %> (Tüm PHP sürümlerinde kullanımı kapalıdır, eğer açarsanız bu şekilde de kullanabilrsiniz)
Not: Eğer kısa (..?>) ve ASP tipi (<%..%>) işaretleyicileri kullanmak istiyorsanız;
...?> için: php.ini dosyanızdaki short_open_tag = Off satırını (benim php.ini dosyamda 76. satır) short_open_tag = On yapmalısınız.
<%...%> için: php.ini dosyanızdaki asp_tags = Off satırını (benim php.ini dosyamda 79. satır) asp_tags = On yapmalısınız.
Not II: php.ini dosyanız;
- Windows'ta PHP dizininizde (genelde C:PHP)
- Windows üzerine kurulu Apache'deki mod_php'ye göre Apache dizini içinde (örn. C:Apachephp)
- Linux'ta mod_php için (dağıtımdan dağıtıma değişebilir) /etc/php.ini'de veya Apache dizininizin içinde olabilir. (SuSE 10.0, Apache2/mod_php'de denenmiştir )
- PHP Dili
PHP, genel olarak 7 adet yapıdan oluşur;
- Değişkenler, (Variables)
Örn. $var = 'Değer - value';
- Dizi-değişkenler, (Arrays)
Örn. $array = array('dizi_anahtari' => 'Değeri', 'array_key' => 'Value');
- Sabitler (Constants)
Örn. define('SABIT_CONSTANT', 'Değer');
- Fonksiyonlar (Functions)
Örn. fonksiyon('Parametre');
- Nesne/sınıflar (Object/Classes)
Örn. $obj = new className();
$obj->classFunction();
- Kontrol yapıları (Control Structures)
Örn. if-elseif-else
- Operatörler (Operators)
Örn. ++ -- ! @
Eğer bir çoğunun ne anlama geldiği hakkında bir fikriniz yoksa, paniğe kapılmayın, derslerimizde sırasıyla hepsini adım adım göreceğiz, kolaylık olsun diye bu şekilde ekledim sadece (Bunlardan başka bir iki tür daha var, -örneğin PHP5 ile gelen try-catch yapısına eklenmiş 'Exception'lar var- ama şu an için bize gerekli değiller)
İlk kodumuzu yazalım
PHP'ye yeni başlamış bir web programcısı için, ona lazım olan genel yapılar sadece değişkenler, fonsiyonlar, operatörler ve kontrol yapıları olur. Öncelikle bazılarını basit ve kısa bir şekilde tanıtayım;
Değişkenler: İçinde belirli bir değeri saklayan PHP yapısıdır. Değişkenler birçok değeri taşıyabilir, öyle ki dizi veya nesne olabilirler. Örnek verelim;
CODE
$degiskenIsmi = 'Degeri';
$isminiz = 'Myxomatose';
$ilgiAlaniniz = "PHP";
// Tek-çift tırnağın arasında önemli bir ayrılık dışında fark
// yoktur :-) (Bu arada aşina olmayanlar için bu // işaretlerinin anlamı,
// PHP için dikkate alınmayacak yorum satırları demektir. PHP, // ile başlayan
// satırları kodmuş gibi işlemez)
$var = "Value";
Daha sonra değişkenlerin alabileceği değer çeşitlerini ayrıntılı bir şekilde göreceğiz...
Fonksiyonlar: Kendisine verilen parametreler doğrultusunda bir değer döndüren veya değer döndürmeden bir işlem yapan kodları içeren parçalardır diyebiliriz. İlk başta PHP'nin hazır fonksiyonlarını kullandıktan sonra kendi fonksiyonlarımızı yazacağız
CODE
echo("echo, PHP'nin yazdırma fonksiyonudur. Örneğin bu kod, parantezler arasındaki yazıyı ekrana basar.");
echo "Yine echo gibi bazı fonksiyonlar parantezsiz de çalışabilrler";
print("print fonksiyonu da ekrana yazıyı basar; ancak echo'nun aksine yazının uzunluğu değerini döndürdüğü için performans olarak daha yavaştır.");
ÖNEMLİ! Noktalı virgül ( ; ) işareti, PHP tarafından ayırıcı olarak algılanır. Bazı özel durumlar dışında PHP kodunuzu yazdığınız her satırın sonuna ; işaretini koymalısınız!
Çok uzadı ama geldik sonunda... PHP dünyasına merhaba diyelim
CODE
echo "Merhaba Dünya! Hello World!";
?>
yukarıdaki kodları ilk.php ismiyle kaydedip, çalıştırdığınızda, ekranda Merhaba Dünya! Hello World! yazısını görmelisiniz
Eğer o yazıyı gördüyseniz, kutlarım sizi, ilk PHP programcığınızı yazdınız Kodların ne anlama geldiğini açıklayalım kısaca;
- : PHP kodlarını bunların arasına yazıyorduk.
- echo "Merhaba Dünya! Hello World!": echo fonksiyonuna yazdırılmasını istediğimiz cümleyi verdik ve o da cümleyi ekrana bastı
---
Yeni derslerimizde görüşmek üzere, hoşçakalın Soru ve önerilerinizi bekliyorum...