Yazılım deyince olmazsa olmaz dediğimiz şeylerden bir tanesi de fonksiyonlardır. Hemen hemen bütün yazılım dillerinde fonksiyon kullanımı aynı mantıkta ilerler. Yani şuan PHP’de fonksiyon kullanımını tam anlamıyla kavrarsanız yarın başka bir yazılım dilini öğrenmeye çalıştığınızda fonksiyonlar için pek fazla zorlanmazsınız. En basit şekilde anlatım gerçekleştireceğim. Sizler örneklerle devam ederek bunun üzerine mutlaka koyarsınız.
Fonksiyon Nedir?
Bir web sitesi için yazılım geliştirdiğinizi düşünelim. Aynı kodları, aynı işlevleri web sitenin bir çok yerinde kullanmak zorunda kalacaksınız. İşte böyle durumlarda fonksiyon imdadımıza yetişiyor. Aynı kodları sistem içerisinde birden fazla yere yazmak yerine tek bir fonksiyon oluşturup aynı fonksiyonu istediğiniz yerlere tanımlayabiliyorsunuz.
Fonksiyon Kullanımı
PHP hali hazırda size kendisinin oluşturduğu yüzlerce fonksiyon sunuyor. – isset(), empty() vs. – Biraz bile olsa PHP bilginiz varsa bu fonksiyonları çoktan hatırlamış olmalısınız. Bu fonksiyonları PHP kullanabilmemiz için otomatik olarak bizlere sunuyor. Ancak biz kendi fonksiyonlarımızı yaratmak istiyoruz. Nasıl yapabiliriz?
Öncelikle fonksiyon oluşturmaya bakalım;
<?php
function benimfonksiyonum(){
echo 'Ben fonksiyon oluşturdum!';
}?>
Şimdi bu aşamada aslında benimfonksiyonum(); ismiyle bir fonksiyon oluşturmuş oluyorsunuz. Yani php dosyanızın her hangi bir yerinden echo benimfonksiyonum(); yazarsanız ekranınıza otomatik olarak “Ben fonksiyon oluşturdum!” yazısı gelecek.
Fonksiyonlara Parametre Ekleme
Yukarıda ki örnekte ki gibi sabit çıktısı olan bir fonksiyona ihtiyacımız yoksa biz fonksiyonun bize verdiği çıktının bir işlem sonucunda sürekli değişmesiniz istiyorsak fonksiyonlara parametre tanımlarız. Yani fonksiyonlara bir değer göndeririz ve o değer kapsamında bir işlem yaptırırız.
Örneğin; Verdiğimiz sayı aralıklarında rastgele sayı oluşturan bir fonksiyon düşünelim.
Bkz; PHP’de rastgele sayı oluşturmak için rand(); fonksiyonu kullanılır. Bu fonksiyon 2 adet parametre alır. İlk parametre minimum değeri ikinci parametre maximum değeri saklar. Yani rand(min,max) şeklinde hangi sayılar arasında rastgele sayı almak istediğinizi parametre belirleyerek fonksiyona iletirsiniz.
<?php
function rastgelesayi($min,$max){
$rastgelesayi = rand($min,$max);
return $rastgelesayi;
}
?>
Şimdi rand zaten php tarafından oluşturulmuş bir fonksiyon. Biz onu direkt kullanabilirdik ama fonksiyonun mantığını anlamak için rand fonksiyonunu içeren yeni bir fonksiyon oluşturduk. Artık bu fonksiyonu php dosyamızın her yerinde kullanabiliriz.
Örneğin;
<?php
$max = 50;
$min = 3;
echo rastgelesayi($min,$max);
?>
Yukarıda fonksiyonun kullanımı görüyorsunuz. Bu fonksiyona 2 tane parametre gönderdik ve fonksiyon bize 3 ile 50 arasında rastgele sayı üretti.
Return ifadesi ile sonucu alma
Şimdi yukarıda ki örnekte kafanız biraz karışmış olabilir. Fonksiyon oluşturduk bir şeyler yaptık peki bu return nereden çıktı? Fonksiyon içerisinde dilediğiniz kadar işlem yaptırabilirsiniz. İsterseniz dünyalar kadar kod satırı olsun, sonuç olarak dışarıya bir değer dönmesi gerekiyor değil mi? İşte dışarıya hangi değeri gönderecekseniz onu return ile döndürüyorsunuz. Biz rastgele sayıyı fonksiyona hesaplattık ve çıkan sonucu dışarıya gönderdik.