PHP ile yeni tanışanlara yönelik
hazırlanmış yazının ilk bölümünde : PHP nedir? ne değildir? PHP programlamaya
giriş. PHP sözdizimi. Değişkenler, diziler ve kontrol yapıları. Döngüler. vs
gibi konulardan bahsediliyor.
PHP nedir?
PHP (Hypertext:PreProcessor / Hipermetin:Önİşlemcisi) ,
dinamik web sayfaları oluşturmakta kullanılan sunucu taraflı (server - sided)
bir scriptting dilidir. PHP ve HTML kullanarak web sayfaları oluşturabilirsiniz.
Bir ziyaretçi sayfanızı açtığı zaman ; sunucu PHP komutlarını yorumlar ve
çıktıları ASP, Coldfusion 'da olduğu gibi kullanıcının tarayıcısına (browser'a)
gönderir. Fakat PHP diğer web programlarının aksine açık kaynak kodludur (open
source) ve platform bağımsız (cross-platform) çalışabilir. PHP ; Windows NT, 2K,
XP ve pek çok Unix ve Linux türevinde çalışabilir. Apache web sunucularına modül
olarak eklenebilir veya CGI gibi çalıştırılabilir. PHP, Apache'ye modül olarak
kurulduğu zaman çok esnek ve yüksek performanslı çalışır. İşlem süreçleri
oluşturmadan çabucak sonuçları size dönderir.
Sitelerin içeriğini ustalıkla yönetmeye ek olarak PHP,
HTTP başlıkları (header) da gönderebilir. Çerez (cookie) oluşturabilir.
Doğrulama (authentication) ve yetkilendirme (authorization) yapabilir. PHP size
pek çok popüler veritabanı için mükemmel bağlantı ve destek imkanı sunar. ODBC
üzerinden diğer veritabanlarına da bağlanabilir ve bir çok yardımcı kütüphanesi
sayesinde görüntü işlemeden XML ayrıştırmaya (XML parsing) PDF dökümanları
oluşturmaktan WML (Wap Markup Language) sayfaları oluşturmaya yardımcı olur.
PHP, direkt olarak web sayfalarımızın içine gömüldüğü
için harici bir IDE 'ye (Integrated Development Environment - Bütünleşik
Geliştirme Ortamı) ihtiyaç duymaz. NotePad veya pico gibi uygulamalar ile PHP
kodları yazmanız mümkündür. PHP kodları <? işareti ile başlar ve ?> ile biter.
PHP'nin sözdizim'i (syntax) C'ninkine veya Perl'ünkine
çok benzer. Bir değişkeni kullanmadan önce onu deklare etmenize gerek yoktur!
Çok boyutlu ve birleşik diziler oluşturmak (associative arrays) çok kolaydır.
PHP'nin kodları organize etmek için basit nesne yönelimli (object oriented)
özellikleri vardır.
PHP en hızlı Apache'ye gömülü olduğu zaman çalıştığı
halde, Microsoft IIS (Internet Information Services) Netscape Enterprise Server,
Xitami Web Server gibi web sunucu uygulamalarında da rahatlıkla çalışabilir.
PHP'nin resmi sitesi
http://www.php.net dir. Bu adresden PHP'nin desteklenen tüm işletim
sistemleri için kaynak kodlarını (source codes) ve derlenmiş hallerini (binary)
indirebilirsiniz. PHP.NET adresinden PHP'nin el kitabını (manual) 'da PDF, HTML,
CHM , ZIP .. gibi bir çok farklı formatta indirebilirsiniz.
PHP sözdizimi (syntax)
<?
echo "Merhaba dünya!";
?>
kodu bize ;
Merhaba Dünya!
çıktısını üretir.
Değişkenler önünde $ işareti ile gösterilir. Merhaba
Dünya'yı şu şekilde de yazabiliriz:
<?
$mesaj = "Merhaba Dünya!";
echo $mesaj;
?>
String toplamaları . (nokta) ile yapılır. Diğer
aritmetik operatörler de tahmin ettiğiniz gibidir.
<?
$giris = "Merhaba";
$sayi = 3 + 2;
$sayi++;
echo "$giris $sayi güzel insan!";
?>
kodu bize ;
Merhaba 6 güzel insan!
çıktısını üretir. $sayi++ ifadesinin, değişkenin o anki
değerini bir artırdığına dikkat etmişinizdir.
PHP deki bir çok operatör ve fonksiyon C veya C++
dillerindekilere çok benzerdir. Eğer C dili ile önceden biraz haşır-neşir
olumuşsanız PHP size hiç de zor gelmeyecektir. Ayrıca şu kuralı hiç bir zaman
aklınızdan çıkarmayın! "Eğer bir şeyin nasıl yapılacağından emin değilseniz
hemen birşeyler deneyin büyük ihtimalle çalışacaktır."
Perl'de olduğu gibi " " (çif tırnaklar) içine yazılan
değişkenler işlendiği halde ' ' (tek tırnaklar) içine yazılan değişkenler
işlenmezler. Örneğin ;
<?
$isim = 'Ayşe';
$giris_1 = "Merhaba , $isim";
$giris_2 = 'Merhaba , $isim';
echo "$giris_1n";
echo "$giris_2n";
?>
kodları bize;
Merhaba , Ayşe
Merhaba , $isim
çıktısını üretir. İlk değişken ve ikinci değişkendeki "
ve ' lara dikkat etmişinizdir. Stringlerin içindeki n ifadesi ile satırlar alt
alta yazdırılır. n kullanılmasa yan yana yazılacaklardı.
Değişkenler
PHP'de yerel değişlenlerin yanı sıra bazı global
değişkenlerde vardır. Bu çevre değişkenleri PHP'nin çalıştığı sunucu (server)
hakkında bazı bilgiler içerirken örneğin: Sunucunun işletim sistemi, bilgisayar
ismi vs.. istemci (client) hakkında bazı bilgiler de içerir. Mesela,
kullanıcının kullandığı işletim sistemi, hangi url'den tıklayarak o zayfaya
geldiği, ip adresi vs.
<?
echo $HTTP_USER_AGENT;
?>
kodları bize eğer istemcinin yani PHP sayfamızı
tarayıcısından açan bir kullanıcının kullandığı tarayıcı Internet Explorer ise ;
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
çıktısını üretir.
Diziler
Eğer değişkeninizin sonuna [ ] köşeli parantez
eklerseniz dizi tanımlamış olursunuz. Örneğin;
$meyve[0] = 'Elma';
$meyve[1] = "Portakal";
$ornek['meyve'] = "Erik";
$ornek2['okul']['lise'] = "Ertan TEZCAN";
Yukardaki örneklerde görüldüğü üzere tek boyutlu ve çok
boyutlu diziler tanımlamanız ve bunları çok rahat bir şekilde kullanmanız
mümkün.
Döngüler ve Kontrol Yapıları
for ve while gibi döngü
yapılarını şu şekilde kullanıyoruz ;
<?
for ($i=4 ; $i < 7 ; $i++) {
echo "Bugün $i balık tuttum.n"; }
?>
kodları bize ;
Bugün 4 balık tuttum.
Bugün 5 balık tuttum.
Bugün 6 balık tuttum.
çıktısını üretir. Aynı çıktıyı ;
<?
$i=4;
while ($i<8) {
echo "Bugün $i balık tuttum.n";
$i++; }
?>
kodları ile de alabiliriz... Dilerseniz bu kodları
biraz irdeleyelim : for döngüsünde parantez içindeki kısma dikkat edelim. ($i=4
; $i < 7 ; $i++) ifadesi ile $i isminde bir değişken oluşturuluyor ve ilk
değeri 4 olarak atanıyor. Ardından şart kontrol ediliyor. Yani eğer $i 'nin
değeri 7 den küçükse şart sağlanmış oluyor ve { } bloğunun içindeki kodlar bir
kez icra ediliyor yani çalıştırılıyor ve $i++ ifadesi sayesinde $i 'nin değeri
her seferinde bir artırılıyor. Bu işlem $i nin 7 değerini aldığı zaman duruyor.
Çünkü 7<7 şartı sağlanmadığı için döngü sonlanıyor. Aynı mantık while için de
geçerli... Arada bazı yazım farklılıkları olduğuna dikkat edin.
Şimdi gelelim kontrol yapılarına. if ve
elseif ifadelerini şu şekilde kullanabiliriz ;
if
($kullanici_sayisi > 150) {
echo "Sitemizde şu an çok fazla kullanıcı var!"; } elseif ($kullanici_sayisi >
100) {
echo "Sitede kullanıcı sayısı ortalama düzeyde..."; } else {
echo "Sitede kullanıcı sayısı az...";
}
Yukarıdaki örnekte iç içe bir kaç kontrol birden
yaplıyor. İlk seferde kullanıcı sayısının 150 den büyük ise "Kullanıcı sayısı
çok fazla" mesajı iletiliyor. Eğer kullanıcı sayısı 150 den küçükse 100 den
büyük olup olmadığına bakılıyor. Eğer kullanıcı sayısı 150 - 100 arasında ise
"Kullanıcı sayısı ortalama"... 100 den az ise "Kullanıcı sayısı az" mesajı
verdiriliyor.
Şimdi de şu örneğe bakalım :
<?
switch ($islem) {
case "ekle":
...... // 1
break;
case "sil":
...... // 2
break;
case "duzelt":
...... // 3
break;
default:
echo "Yanlis islem";
}
?>
Yukarıdaki örnekte switch kontol yapısınının
kullanımını görmektesiniz. switch diğer kontrol yapılarından farklı olarak çoklu
kontrol yapaibilir. Örneği biraz irdeleyince olayı kavrayacaksınız. $islem
değişkeninin değeri kontrol ediliyor. Eğer $islem'in değeri "ekle" ise 1 no lu
kısımdaki kodlar icra ediliyor. ..... olan yerlerde tabi bizim kodlarımız var.
Aynı şekilde eğer $islem değişkenini değeri "sil" ise 2 nolu kısıma gidiliyor.
Eğer $islem değişkenin değeri case'lerde belirtilen değerlerden hiç birine eşit
değilse default: kısmındaki kodlar icra edilir.
Şimdilik bu kadar. Çok yakında yazının devamında tekrar
görüşmek dileğiyle...
Ertan TEZCAN | Bilgi Paylaştıkça Artar. | .::. A k t i f N u k e . C o m .::.
Copyright © PHP Nuke - Themes - Modules - Blocks - Addons - Turkish Nuke Tüm hakları saklıdır.