Get the Flash Player to see this player.
Flash Image Rotator Module by Joomlashack.
Image 1 Title
Image 2 Title
Image 3 Title
Image 4 Title
Image 5 Title
| PHP'ye Giriş |
|
|
|
PHP, bir programlama dili olarak, değişkenler, değişkenlerin
değerleriyle bir işlem yapmayı sağlayan işlemciler, işlemcilerle
oluşturulan deyimler ve nihayet bunların tümünü toplu olarak
kullanmamızı sağlayan işlevlere (fonksiyonlara) sahiptir.PHP’nin Yapı Taşları PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler, işlemcilerle oluşturulan deyimler ve nihayet bunların tümünü toplu olarak kullanmamızı sağlayan işlevlere (fonksiyonlara) sahiptir. PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkanına ve bunların kullanılmasını sağlayan metodlara da sahiptir. Bütün bu imkanları kullanarak, PHP ile bir veritabanından veri alarak, bunları HTML etiketlerinin değerleri olarak kullanabiliriz; Web sitemizi ziyaret eden kişilerden bilgi alabiliriz, bu bilgilerle işlemler yapabiliriz. PHP’nin çeşitli komutlarını, deyimlerini ve fonksiyonlarını kullanarak, programımızın çalıştığı Web sunucusunun bulunduğu bilgisayara da çeşitli dosya işlemleri yaptırabiliriz. PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler, işlemcilerle oluşturulan deyimler ve nihayet bunların tümünü toplu olarak kullanmamızı sağlayan işlevlere (fonksiyonlara) sahiptir.PHP’nin Yapı Taşları PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler, işlemcilerle oluşturulan deyimler ve nihayet bunların tümünü toplu olarak kullanmamızı sağlayan işlevlere (fonksiyonlara) sahiptir. PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkanına ve bunların kullanılmasını sağlayan metodlara da sahiptir. Bütün bu imkanları kullanarak, PHP ile bir veritabanından veri alarak, bunları HTML etiketlerinin değerleri olarak kullanabiliriz; Web sitemizi ziyaret eden kişilerden bilgi alabiliriz, bu bilgilerle işlemler yapabiliriz. PHP’nin çeşitli komutlarını, deyimlerini ve fonksiyonlarını kullanarak, programımızın çalıştığı Web sunucusunun bulunduğu bilgisayara da çeşitli dosya işlemleri yaptırabiliriz. PHP programını durdurmak
Şimdi
belki PHP’yi durdurmayı hiç düşünmüyorsunuz; ama ilerde bir fonksiyonun
vereceği sonucun bütün programın durdurulmasını gerektiği zamanlar
olabilir. PHP’nin resmî el kitabına bile ilk baskısında konulması
unutulmuş olan programı durdurma komutu, exit kelimesidir; hiç bir
parametre almadan çalışır. Değişkenler Programcılıkta işlemlerimizi değişkenlerle yaparız. Değişkeni bir kap gibi düşünebilirsiniz. Sözgelimi “Gün,” değişkenin adı ise bu değişkenin değeri Pazar, Pazartesi, Salı, vd., olabilir. Her değişken, türüne göre, ya bir ya da daha fazla değer tutar. Adından da anlaşılacağı gibi değişkenin değeri değişir! Bu değişikliği biz yapabiliriz; programın kendisi yapabilir. PHP’de de, bir çok başka bilgisayar programlama dilinde olduğu gibi değişkenlerin içine bir değer konmadan önce tanımlanması mümkündür; fakat gerekli değildir. Değişkenleri adının önüne $ işareti koyarak tanımlarız: $adi; $soyadi; $123; $sevdigiRenk; Değişkenler, harf, rakam veya alt çizgi (_) ile başlayabilirler; bu karakterleri içerebilirler; ama içinde boşluk veya diğer işaretler bulunamaz. PHP değişkenleri her türlü değişken tutabilirler: bir değişkenin adının yazılış şekli onun tutabileceği değerin niteliğini belirlemez. Dolayısıyla, “$adi” değişkenin değeri “Reşit” da olabilir, “1255″ de olabilir. PHP’de genellikle değişkenleri değerini atayarak belirleriz: $adi = “Reşit”; $soyadi = “Gülen”; $123 = 123; $sevdigiRenk = “yeşil”; Değişkenler, kullanıldıkları işleme, taşıdıkları değeri verirler: print $adi; komutu, eğer değeri “Reşit” ise “Browser penceresine “Reşit” kelimesini yazdırır. PHP’de özel bir değişkene değişken adı olarak kullanılacak değerleri de atayabiliriz: $adi = “Reşit”; $degisken = “adi”; print $$degisken; Burada Browser penceresine yine “Reşit” kelimesi yazılacaktır; çünkü PHP $degisken adlı değişkenin “adi” adlı değişkeni tuttuğunu bilecek ve iki Dolar işaretini görünce, $degisken’in değerini değil, onun tuttuğu değişkenin değerini yazacaktır. Bu, size şu anda karışık görünebilir. Daha sonra döngüleri gördüğümüzde bu tekniği bir satırlık kod ile yüzlerce değeri yazdırmakta kullanacağız. Bu teknik şöyle de kullanılabilir: $degisken = “adi”; $$degisken = “Reşit”; print “$adi”; print $$degisken; print “${$degisken}”; print “${’adi’}”; Buradaki dört “print” komutu da Browser’a “Reşit” kelimesini yazdıracaktır. PHP’de bir değişkenin tuttuğu değer, bir başka değişkene atanabilir. Bu ya duragan, ya da dinamik olarak yapılır. Duragan yöntemde: $birinci_degisken = “Nurcan”; $ikinci_degisken = $birinci_degisken; $birinci_degisken = “Tülay”; print $ikinci_degisken; Buradaki “print” komutu Browser penceresine “Reşit” kelimesini yazdıracaktır. İki değişken arasındaki değer alış-verişi birinci değişkenin tuttuğu değeri değiştirmeden önce olduğu için, ikinci değişken birinci değişkenin ilk değerini almış oldu. Fakat kimi zaman iki değişken arasındaki değer alış-verişi sürekli (dinamik) olsun isteriz. PHP, buna, ilk atama sırasında & işareti kullanırsak izin verir: $birinci_degisken = “Nurcan”; $ikinci_degisken = &$birinci_degisken; $birinci_degisken = “Tülay”; print $ikinci_degisken; Buradaki “print” komutu ise Browser penceresine “Tülay” kelimesini yazdıracaktır. Çünkü iki değişken arasındaki değer alış-verişi birinci değişkenin tuttuğu değeri değiştirmeden önce halde, ikinci değişkene birinci değişkenin değerini dinamik olarak atamış olduk. Atama işlemi sırasında & işareti kullandığımız için, birinci değişkenin değeri değiştiğinde ikinci değişkenin de değeri değişecektir. Veri Türleri PHP, değişkenlere, tuttukları değere göre farklı bellek alanı tahsis eder; bu bakımdan verilerimizin türü etkin bir programcılık açısından önem taşır. Ayrıca PHP, diğer bütün programlama dilleri gibi belirli veri türleri ile belirli işlemleri yapar veya yapamaz. Örneğin, ancak iki sayı arasında aritmedik toplama yapılabilir. İki metin tutan değişken aritmetik olarak toplanamaz; ancak içerdikleri değerler ardarda eklenebilir. Ne var ki, PHP sizin aritmetik toplama mı, yoksa ardarda ekleme mi yapmak istediğinizi bilmek durumunda değildir. (PHP’ye ‘muazzam dil’ dedik; içinde yapay zekâ var demedik!) Dolayısyla değerleri 5 ile 6 olan iki değişkeni topladığınız zaman ortaya 11 yerine 56 çıkarsa, kabahati PHP’de değil, değişkenlere veri atayan kişide (büyük bir ihtimalle kendinizde) aramalısınız. PHP açısından dünyada altı tür değer vardır: Tamsayı (Integer): 5,124, 9834 gibi Çift (Double): 3,567 gibi Alfanümerik (String): “Reşit” gibi Mantıksal (Boolean): doğru (true)/yanlış (false) gibi Nesne (Object) Dizi (Array) Bazı uzmanlara göre, gerçekte PHP’de mantıksal (boolean) değişken türü yoktur. B kanının sebebi, PHP’nin true (doğru) ya da false (yanlış) olarak atadığımız değerleri 1 ve boş/null değerlere çevirmesi, mantıksal olarak sorgulandığında 0 dışındaki tam ve ondalık değişkenleri TRUE, 0′ı FALSE sayması, ve boş alfanümerik değişkenleri FALSE, dolu alfanümerik değişkenleri ise TRUE olarak değerlendirmesidir. Ancak daha sonra gereceğimiz gibi PHP, Mantıksal/Boolean adında bir değişken değiştirme fonksiyonuna sahiptir ve bu tür değişkenlerin türü sorulduğunda “boolean” karşılığını verir. Tür Değiştirme Değişkenlere atadığımız değerlerinin türlerini genellikle biliriz; ama yüzlerce değişkenle uğraştığımız bir Web programında değişken türünü unutmak çok kolaydır. Kimi zaman da değişkenlere program yoluyla değer atarız; başka bir deyişle programımız bazı değişkenleri kendisi oluşturabilir, ve bunlara kendisi değer atayabilir. Bu tür program yoluyla atanan değerlerin de türünde kuşkuya kapıldığımız anlar olabilir. Bir değişkenin değerinin türü hakkında kuşkunuz varsa, en emin yol bunu PHP’nin kendisine sormaktır. Bu sorgulamayı gettype() fonksiyonu ile yaparız. Fonksiyon
PHP’nin
gettype() ve print() gibi, kendi içinde bulunan kullanılmaya hazır bir
çok fonksiyonu vardır. Daha sonra kendi fonksiyonlarımızı yazmanın
yollarını da göreceğiz. Programcılık dilinde ister dile ait olsun,
ister kendimiz yazmış olalım, bir fonksiyonu kullanmaya “fonksiyon
çağırma” denir. Fonksiyonlar da fonksiyon çağırabilirler. Çağrılan bir
fonksiyon ya kendisinden beklenen işi yapar, ya da kendisini çağıran
işleme veya fonksiyonu bir değer sunar. Buna fonksiyondan dönen değer
denir. < ?php $sayi = 5;
print("Birinci değişkenin adı: \$sayi print(”Değeri : “);
print “$sayi print(”Türü : “); print gettype( $sayi ) ; //tamsayi/integer
print “
print “ $alfanumerik = “Reşit”;
print “İkinci değişkenin adı: \$alfanumerik print “Değeri : “;
print “$alfanumerik print(”Türü : “); print gettype( $alfanumerik ) ; //alfanümerik/string
print “
print “ $ondalik = 5.1234;
print “Üçüncü değişkenin adı: \$ondalik print “Değeri : “;
print “$ondalik print(”Türü : “); print gettype( $ondalik ) ; //çift,ondalık/double
print “
print “ $mantiksal = true;
print “Üçüncü değişkenin adı: \$mantiksal print “Değeri : “;
print “$mantiksal print(”Türü : “); print gettype( $mantiksal ) ; //mantıksal/boolean
print “
print “ ?>
Bu programı çalıştığımızda karşımıza şöyle bir görüntünün gelmesi gerekir: Escape turler.php dosyasını yazdıysanız, şu satırdaki, ters-bölü işareti dikkatinizden kaçmamış olmalı:
print “İkinci değişkenin adı: \$alfanumerik Daha önce gördük ki, tek veya çift tırnak içine de alsak, PHP, bir değişken adını gördüğü zaman onun yerine o değişkenin tuttuğu değeri yazar. PHP bunu, değişken adının başındaki $ görerek yaparak. $ işareti gibi PHP için özel anlamı olan işaretlerin anlamlandırılmasını önlemek ve bu işaretleri düz metin saymasını sağlamak için bu işaretlerin önüne ters-bölü işareti koyarız. Buna o karakteri kurtarma veya ESCaping denir. PHP’nin anlamlı işaretleri ve bunların ESCape-yazılışı şöyledir: \’ Tek tırnak \” Çift tırnak \\ Ters-bölü \$ Dolar işareti \n Yeni Satır (New Line) \r Satır Başı (Return) \t Sekme (Tab) karakteri Kimi zaman bir değişkene atadığımız değerin türünü değiştirmek gerekir. Bunu settype() fonksiyonu ile yaparız. Elimizde böyle bir imkan var diye, bir değişkenin alfanümerik (String) olan değerini sayıya çevirebileceğini sanmayın. PHP buna çok kızar! Şu örneği de tur_degistir.php adıyla kaydedelim: < ?php $degisken = 5.67890; print("Değişkenin değeri : ");
print "$degisken print(”Türü : “); print gettype( $degisken ) ; //çift,ondalık/double
print “
print “
print “İlk değiştirme işlemi: Alfanümerik/String: settype( $degisken, string ); //alfanümerik/string print “Değeri : “;
print “$degisken print(”Türü : “); print gettype( $degisken ) ; //alfanümerik/string
print “
print “
print “İkinci değiştirme işlemi: Tamsayı/Integer: settype( $degisken, integer ); //Tamsayı/Integer print “Değeri : “;
print “$degisken print(”Türü : “); print gettype( $degisken ) ; //Tamsayı/Integer
print “
print “
print “Üçüncü değiştirme işlemi: Ondalık/Double: settype( $degisken, double ); //çift,ondalık/double print “Değeri : “;
print “$degisken print(”Türü : “); print gettype( $degisken ) ; //çift,ondalık/double
print “
print “
print “Dördüncü değiştirme işlemi: Mantıksal/Boolean: settype( $degisken, boolean ); // Mantıksal/Boolean print “Değeri : “;
print “$degisken print(”Türü : “); print gettype( $degisken ) ; // Mantıksal/Boolean
print “
print “ ?>
Bu
programı çalıştırdığımızda, ilk atadığımız değerin ondalık/double
olarak belirlendiğine dikkat edin. Bu değerin türünü alfanümerik/string
olarak değiştirdiğimizde değişmediğini görüyoruz. Fakat
tamsayı/integer’a çevirdiğimizde PHP değerin tamsayı bölümünü alıyor;
ondalık-kesir bölümünü atıyor. Nitekim daha sonra değişkerin türünü
yeniden ondalık yaptığımız halde, atılan bu bölüm geri gelmiyor. Son
olarak değişkeni mantıksal ifade olarak değiştirdiğimizde, değerin
doğru/true olduğunu anlıyoruz; değer olarak bize 1 dönüyor. PHP, sıfır
dışındaki tüm değerleri doğru/true’ya çevirir; sıfır’ı ise yanlış/false
olarak atar ve boş/null değer verir. < ?php $degisken = 3.1418; print("Değişkenin değeri : ");
print "$degisken print(”Türü : “); print gettype( $degisken ) ; //çift,ondalık/double
print “
print “
print “İlk kopyalama işlemi: Alfanümerik/String: $kopya_degisken = ( string ) $degisken; //alfanümerik/string print “Değeri : “;
print “$kopya_degisken print(”Türü : “); print gettype( $kopya_degisken ) ; //alfanümerik/string
print “
print “
print “İkinci kopyalama işlemi: Tamsayı/Integer: $kopya_degisken = ( integer ) $degisken; //Tamsayı/Integer print “Değeri : “;
print “$kopya_degisken print(”Türü : “); print gettype( $kopya_degisken ) ; //Tamsayı/Integer
print “
print “
print “Üçüncü değiştirme işlemi: Ondalık/Double: $kopya_degisken = ( double ) $degisken; //çift,ondalık/double print “Değeri : “;
print “$kopya_degisken print(”Türü : “); print gettype( $kopya_degisken ) ; //çift,ondalık/double
print “
print “
print “Dördüncü kopyalama işlemi: Mantıksal/Boolean: $kopya_degisken = ( boolean ) $degisken; // Mantıksal/Boolean print “Değeri : “;
print “$kopya_degisken print(”Türü : “); print gettype( $kopya_degisken ) ; // Mantıksal/Boolean
print “
print “ ?>
Bu
programın can alıcı noktası örneğin “$kopya_degisken = ( boolean )
$degisken;” şeklindeki komut; burada $kopya_degisken adlı değişkene
$degisken adlı değişkenin değerini (eşittir işareti ile) kazandırırken,
arada yeni değişkenin kazanmasını istediğimiz türün adını parantez
içinde yazıyoruz. Burada gerçekte, $degisken adlı değişkenin değerine
hiç bir şey olmuyor. Bu programı çalıştırırsanız, ilk değerin ontalık
kısmının önceki örnekte olduğu gibi değişim işlemi sonunda tamamen yok
olmadığını görebilirsiniz. Dört yararlı fonksiyon PHP’de değişken değer türü değiştirmekte kullanabileceğimiz kullanılmaya hazır fonksiyon vardır. ilerde döngüleri ele aldığımızda daha çok anlam kazanacak olan bu değişkenleri şimdilik bir kenara kaydedin: isset() ve unset() PHP, bir değişken tanımlandığı anda, sanki içinde değer varmış gibi, bilgisayarın belleğinde yer ayırır. Bu bazen bilgisayarın kıt kaynaklarını zorlayabilir. isset() fnksiyonu, PHP’nin bir değişkenin içinde değer bulunup bulunmadığını sınamasını sağlar. unset() ise varolan bir değişkeni yok eder. Bu iki fonksiyonu birlikte kullanabiliriz ve boş değişkenleri yok ederek, bilgisayarın belliğinde yer açabiliriz: if (isset($bir_degisken)) { print( $bir_degisken ); } else { unset($bir_degisken); } Bu kod parçası, $bir_degisken isimli dğişkenin içi boş değişse, içeriğini görüntüleyecek, içi boş ise varlığına son verecektir. empty() isset() fonksiyonun tersi işleve sahiptir; bir değişkene değer atanmamışsa, veya değeri sıfır veya boş alfanümerik (null string) ise, doğru (True) değeri verir. $bir_degisken = 123; echo empty($bir_degisken); $bir_degisken = “”; echo empty($bir_degisken); Bu program parçası Browser penceresine sadece empty() fonksiyonun doğru sonuç verdiği birinci echo() deyiminde 1 yazdıracaktır. is_string(),is_integer(),is_double(), Sınadıkları değişkenin aradıkları türden değer içermesi halinde doğru ‘True) sonuç verirler. < ?php $a = 6.567; if (is_double($a)) {
print ("A Double'dır } $b = “Reşit”; if (is_double($a)) {
print (”B String’dir } $c = 6; if (is_int($c)) {
print (”C Integer’dır } ?> Bu kod, Browser penceresine “A double’dır, B String’dir, C Integer’dır” yazdıracaktır. PHP’de bu fonksiyonlara benzeyen fakat başka tür değer arayan şu fonksiyonlar da vardır: is_array(), is_object. intval(), doubleval(), doubleval() Bir değişkenin değerinin türünü başka bir türe çevirmeye yararlar. intval(), ortaya çıkartacağı tamsayı değişkenin 10 tabanlı (decimal) veya 16 tabanlı (hexadecimal) olmasını sağlayan ikinci bir argüman alabilir: < ?php $a = "123ABC"; $b = inval($a, 16) print ($b); ?> Bu program Browser penceresine, 123′ün hexadecimal ifadesi olan “1194666″ yazdıracaktır. İşlemciler (Operatörler) Yukarıdaki örnekleri birlikte yaptıysak, = işaretini bol bol kullandık ve böylece PHP’nin bir çok operatöründen biriyle tanıştık. Buna PHP dilinde “atama operatörü” denir. Bu işlemci sadece yukarıda kullandığımız gibi, bir değişkenin bir değere eşitliğini ilan etmek amacıyla kullanılmaz. Örneğin: print ( $sayi = 123 ) ; ifadesinde olduğu gibi, bir fonksiyonun içinde de hem atama işlemi yapılabilir; hem de işlem yürütülür. PHP’nin aritmetik, birleşik-atama, birleştirme, karşılaştırma ve mantıksal sınama operatörleri vardır. Aritmetik işlemciler: + Toplama 6+5 = 11 - Çıkartma 6-5 = 1 / Bölme 6/5 = 1.2 * Çarpma 6*5 = 30 % Kalan (Modulus) 6%5 = 1 Aritmetik işlemleri gerçek sayılarla yaptığımız gibi, tuttuğu değer sayı olan değişkenlerle de yapabiliriz. Daha önce, PHP’de değişken tanımlar ve bunlara değer atarken sayı olan değişkenleri tırnak işareti kullanmadan, alfanümerik değişkenleri ise tırnak içinde yazdığımızı hatırlayacaksınız. Bu, geleneksel hale gelmiş olan bir programcılık alışkanlığıdır. PHP, tırnak kullanmasanız da bir değişkenin sayı olup olmadığını anlar; daha sonra bu değişkenlerle aritmetik işlem yapabilir. PHP ayrıca rakamla başlayan alfanümerik değişkenleri sayı olarak kullanmaya kalktığınızda, bu değerin başındaki bütün rakamları sayı olarak kabul eder. PHP açısından harf veya işaretle başlayan alfanümerik değişkenlerin sayı olarak değeri sıfırdır. Örnek: $a = 6; $b = “22/A” print ($a + $b) sonuç olarak 28′i verecektir; veya $a = 6; $b = “A/22″ print ($a + $b) sonuç olarak 6 çıkacaktır. Bu küçük deneyi yaparsanız, PHP ile program yazarken hangi değişkenin ne sonuç vermesi gerektiğini dikkatle düşünmek zorunda olduğunuzu görürsünüz. Bir kişinin geliri ile adresini toplamak, programcı olarak arzu ettiğiniz bir işlem olmayabilir! Bununla birlikte elimizde bir kişinin adı ve soyadı ayrı değişkenler halinde ise, bunları birbirine ekleyerek (concatenation) ortaya yeni bir alfanümerik değişken çıkartabiliriz: < ?php $adi = "Reşit"; $soyadi = "Muhtar"; $adi_soyadi = $adi . " " . $soyadi;
print (" print ($adi_soyadi); print ($adi . “‘nın soyadı ” . $soyadi . “‘dir.”) ?> Bu örnekte, sadece ekleme yoluyla yeni bir değişken oluşturmakla kalmıyoruz; fakat alfanümerik değişkenleri, başka metinlerle de birbirine ekleyebildiğimizi görüyoruz. Bu işlemi nokta işaretiyle (.) yapıyoruz. Bu işlemciyle sadece değişkenlerin değerlerini değil fakat metinleri de birbirine ekleyebiliriz: < ?php print ("İyileri iyikleri ile alkışla; " . "..." . "ve sen soluklarında daima Mesîh ol..! ") ?> PHP’nin atama işlemcisinin eşittir (=) işareti olduğunu hatırlıyorsunuz birleşik-atama (combined-assignment) işlemcileri, bu işarete diğer aritmetik işlemciler eklenerek oluşturulur. İşlemci Örnek Anlamı += $a += 5 $a = $a + 5 -= $a -= 5 $a = $a - 5 /= $a /=5 $a = $a / 5 *= $a *= 5 $a = $a * 5 %= $a %= 5 $a = $a % 5 .= $a .= “metin” $a = $a” metin” Bu işlemi zihnimizde, “A değişkeninin mevcut değerine 5 ekle, çıkan sonucu A değişkenin yeni değeri yap!” şeklinde canlandırabiliriz. |
|
| Son Güncelleme ( Perşembe, 03 Nisan 2008 ) |
İlk önce eyceks kütüphanesine karşılık gelen bir uygulama anlatacağımı söleyerek başlayım işe
eyceks kütüphanesinde yapılan uygulama kütüphaneyi içeri çağırmak ve çağırdığımız sayfada ‘da
JXG ve JXP komutlarıyla veri göndermek çıktıyı aynı ekranda alma işlemini yapıyorduk biliyorsunuz . Devamı çok yakında burada bu makale bir alıntıdır.
| Flash haberler serisi. |