6. Ders (Fonksiyonlar ve Sınıflar)
Fonksiyonlar
Programlamanın temelini fonksiyonlar oluşturur. Ayrıca ana programın kendiside bir fonksiyondur denilebilir. En çok kullanılanlar print() ve echo() fonksiyonlarıdır. Bunun yanında kendimizde fonksiyon yazabiliriz ve istediğimiz an kullanabiliriz.
<html> <?php $a = 1; $b = 2; //global $a ve $b değişkenlerimiz ve değerleri function toplam() { global $a, $b; /* global $a,$b; demekle ana programdaki $a ve $b değişkenlerin değerlerini kullan*/ $c = $a + $b; echo $c; //ekrana $c nin değerini 3 yazar } toplam(); //üsteki toplam fonksiyonunu kullanıyoruz ?> <br> <?php /*fonksiyonlara paremetre gönderip geri değer döndürmesini isteyebiliriz*/ function paremetre ($id1, $id2) { $id3=$id1 + $id2; return $id3; //$id3 değişkeninin değerini geri döndürür } echo paremetre(15,34); /*15'i $id1, 34'ü $id2 ye atar ve dönen return değerini echo ile ekrana yazar*/ ?> <br> <?php function statik() { static $a = 0; /*$a değişkenini static tanımlamakla fonksiyonu her çağırdığımızda $a nın son değerini alır*/ echo $a; $a++; } statik(); //ekrana 0 yazar statik(); //ikinci çağrışımızda ekrana 1 yazar ve takip eder ?> <br> <?php function islem ($a =5){/*fonksiyon paremetresiz çağrılırsa $a değişkeninin değeri varsayılan olarak 5 alınır*/ return ($a+1); } echo islem(); //ekrana 6 yazar print "<br>"; echo islem(10); //ekrana 11 yazar ?> </html>
Nesne Tabanlı Programlama (Object-Oriented Programming)
Programlama dilleri nesneye dayalı olmakla birlikte kullanım açısından bir çok avantajlar getirdi. PHP de istediğimiz kadar sınıf oluşturup bunların içinde yine istediğimiz kadar fonksiyonlar kullanabiliriz.
<?php class stil { //özellikleri tanımlayalım var $font; var $renk; var $boyut; var $metin; //fonksiyonları tanımlayalım function arayuz($c,$d,$e,$f){ $this->font = $c; $this->boyut = $d; $this->renk = $e; $this->metin = $f; } function yazdir(){ echo "<font face=\"".$this->font." size=".$this->fontsize. "\" color=".$this->renk.">".$this->metin."</font>"; } } ?> <html> <?php $sinif = new stil; //stil nesnesini kullanıma açıyoruz (önyükleme) $sinif->arayuz("Trebuchet MS",2,"black", "Enigma"); //arayuz fonksiyonuna font ile ilgili paremetreler gönderilir $sinif->yazdir(); //nesnemizin yazdır fonksiyonu (metodu) çalışır echo "<br>"; $sinif->renk ="blue"; $sinif->metin ="Parçalarını"; $sinif->yazdir(); echo "<br>"; $film = new stil; $film->arayuz("Times New Roman",3,"red", "Mutlaka Dinleyin"); $film->yazdir(); ?> </html>