PHP Fonksiyonlar Nedir? Fonksiyon Oluşturma ve Kullanımı
PHP programlama dilinde aynı işlemleri birden fazla yerde gerçekleştirmemiz gerekebilir. Her defasında aynı kodları yeniden yazmak, programlarımızın uzamasına ve yönetilmesinin zorlaşmasına neden olur.
Bu sorunu çözmek için fonksiyonlar (functions) kullanılır. Fonksiyonlar sayesinde belirli işlemleri bir kez tanımlayabilir ve ihtiyaç duyduğumuz her yerde tekrar kullanabiliriz.
1. PHP FONKSİYON NEDİR?
Fonksiyon, belirli bir görevi yerine getirmek amacıyla oluşturulan ve ihtiyaç duyulduğunda çağrılarak çalıştırılan kod bloğudur.
Örneğin bir web sitesinde kullanıcıya hoş geldiniz mesajı göstermek istediğimizi düşünelim. Bu mesajı farklı sayfalarda tekrar tekrar yazmak yerine bir fonksiyon oluşturabiliriz.
Fonksiyonların başlıca avantajları şunlardır:
- Kod tekrarını azaltır.
- Programların daha düzenli olmasını sağlar.
- Kodların okunmasını ve anlaşılmasını kolaylaştırır.
- Hata düzeltme ve güncelleme işlemlerini kolaylaştırır.
- Aynı işlemin farklı yerlerde kullanılmasını sağlar.
2. PHP FONKSİYON OLUŞTURMA
PHP'de fonksiyon oluşturmak için function anahtar kelimesi kullanılır.
Fonksiyonların genel yazım şekli aşağıdaki gibidir:
<?php
function fonksiyonAdi() {
// Yapılacak işlemler
}
?>
Fonksiyon oluşturulurken kullanılan ifadeler:
- function: Fonksiyon tanımlamak için kullanılan anahtar kelimedir.
- fonksiyonAdi: Fonksiyona verilen isimdir.
- (): Fonksiyonun parametrelerinin yazıldığı bölümdür.
- { }: Fonksiyonun gerçekleştireceği işlemleri içerir.
FONKSİYON ÇAĞIRMA
Bir fonksiyonun oluşturulması, içerisindeki kodların hemen çalışacağı anlamına gelmez. Fonksiyonun çalıştırılması için ismi kullanılarak çağrılması gerekir.
<?php
function mesajYaz() {
echo "PHP fonksiyonlarını öğreniyoruz.";
}
mesajYaz();
?>
Ekran Çıktısı: PHP fonksiyonlarını öğreniyoruz.
Bu örnekte mesajYaz() fonksiyonu oluşturulmuş ve daha sonra çağrılarak çalıştırılmıştır.
3. PHP FONKSİYONLARDA PARAMETRE KULLANIMI
Fonksiyonlara dışarıdan veri gönderilmesini sağlayan değişkenlere parametre adı verilir.
Parametreler sayesinde aynı fonksiyon farklı verilerle çalıştırılabilir.
<?php
function selamla($isim) {
echo "Merhaba " . $isim;
}
selamla("Ahmet");
?>
Ekran Çıktısı: Merhaba Ahmet
Burada $isim fonksiyonun parametresidir. Fonksiyon çağrılırken gönderilen "Ahmet" değeri bu parametreye aktarılır.
BİRDEN FAZLA PARAMETRE KULLANIMI
Bir fonksiyona birden fazla parametre gönderilebilir. Parametreler virgülle ayrılarak yazılır.
<?php
function topla($sayi1, $sayi2) {
echo $sayi1 + $sayi2;
}
topla(15, 25);
?>
Ekran Çıktısı: 40
4. PHP FONKSİYONLARDA RETURN KULLANIMI
PHP'de bir fonksiyonun hesapladığı sonucu çağrıldığı yere göndermek için return komutu kullanılır.
Return komutu çalıştırıldığında fonksiyon sona erer ve belirtilen değer geri döndürülür.
<?php
function carp($sayi1, $sayi2) {
return $sayi1 * $sayi2;
}
$sonuc = carp(5, 6);
echo $sonuc;
?>
Ekran Çıktısı: 30
Bu örnekte carp() fonksiyonu iki sayıyı çarpar ve sonucu return ile geri döndürür. Döndürülen değer $sonuc değişkenine aktarılır.
ECHO VE RETURN ARASINDAKİ FARK
Echo komutu bir değeri ekrana yazdırırken return komutu fonksiyonun ürettiği değeri çağrıldığı yere gönderir.
<?php
function hesapla($sayi1, $sayi2) {
return $sayi1 + $sayi2;
}
$toplam = hesapla(10, 20);
echo $toplam * 2;
?>
Ekran Çıktısı: 60
Return ile döndürülen sonuç başka matematiksel işlemlerde kullanılabilir.
5. PHP FONKSİYONLARDA VARSAYILAN PARAMETRE
PHP fonksiyonlarında parametrelere varsayılan değerler atanabilir.
Fonksiyon çağrılırken ilgili parametre için değer gönderilmezse varsayılan değer kullanılır.
<?php
function hosgeldin($isim = "Misafir") {
echo "Hoş geldiniz " . $isim . "<br>";
}
hosgeldin();
hosgeldin("Ayşe");
?>
Ekran Çıktısı:
Hoş geldiniz Misafir
Hoş geldiniz Ayşe
İlk fonksiyon çağrısında parametre gönderilmediği için "Misafir" değeri kullanılmıştır.
6. PHP FONKSİYONLAR İLE ÖRNEK UYGULAMALAR
ÖRNEK 1: İKİ SAYININ ORTALAMASINI HESAPLAMA
İki sayının aritmetik ortalamasını hesaplayan bir fonksiyon oluşturalım.
<?php
function ortalama($sayi1, $sayi2) {
$sonuc = ($sayi1 + $sayi2) / 2;
return $sonuc;
}
echo "Ortalama: " . ortalama(70, 90);
?>
Ekran Çıktısı: Ortalama: 80
Fonksiyon iki sayıyı toplar, sonucu ikiye böler ve hesaplanan ortalamayı geri döndürür.
ÖRNEK 2: SAYININ TEK Mİ ÇİFT Mİ OLDUĞUNU BULMA
Parametre olarak gönderilen sayının tek veya çift olduğunu belirleyen fonksiyon hazırlayalım.
<?php
function tekCift($sayi) {
if ($sayi % 2 == 0) {
return "Çift sayı";
} else {
return "Tek sayı";
}
}
echo tekCift(15);
?>
Ekran Çıktısı: Tek sayı
Bu uygulamada % operatörü kullanılarak sayının 2 ile bölümünden kalan hesaplanır. Kalan sıfırsa sayı çift, değilse tektir.
ÖRNEK 3: DİKDÖRTGENİN ALANINI HESAPLAMA
Genişlik ve yükseklik değerlerini parametre olarak alan ve dikdörtgenin alanını hesaplayan bir fonksiyon oluşturalım.
<?php
function alanHesapla($genislik, $yukseklik) {
return $genislik * $yukseklik;
}
$alan = alanHesapla(8, 12);
echo "Dikdörtgenin alanı: " . $alan;
?>
Ekran Çıktısı: Dikdörtgenin alanı: 96
Fonksiyonun parametrelerine farklı değerler gönderilerek farklı dikdörtgenlerin alanları hesaplanabilir.
ÖRNEK 4: DİZİDEKİ EN BÜYÜK SAYIYI BULMA
Bir dizideki en büyük sayıyı bulan fonksiyon oluşturalım.
<?php
function enBuyukSayi($sayilar) {
return max($sayilar);
}
$dizi = array(15, 42, 8, 96, 23);
echo "En büyük sayı: " . enBuyukSayi($dizi);
?>
Ekran Çıktısı: En büyük sayı: 96
Bu uygulamada PHP'nin hazır max() fonksiyonu kullanılmıştır. max() fonksiyonu, kendisine gönderilen boş olmayan sayı dizisindeki en büyük değeri bulur.
ÖRNEK 5: HTML FORM İLE NOT HESAPLAMA FONKSİYONU
Şimdi PHP fonksiyonlarını HTML formuyla birlikte kullanalım.
Kullanıcının girdiği iki sınav notunun ortalamasını hesaplayan ve öğrencinin geçme durumunu belirleyen bir uygulama hazırlayalım.
Dosya Adı: not_hesapla.php
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Not Hesaplama</title>
</head>
<body>
<h2>Öğrenci Not Hesaplama</h2>
<form method="post">
<label>1. Sınav Notu:</label>
<input type="number" name="not1"
min="0" max="100" required>
<br><br>
<label>2. Sınav Notu:</label>
<input type="number" name="not2"
min="0" max="100" required>
<br><br>
<button type="submit">Hesapla</button>
</form>
<?php
function ortalamaHesapla($not1, $not2) {
return ($not1 + $not2) / 2;
}
function durumBelirle($ortalama) {
if ($ortalama >= 50) {
return "Geçti";
} else {
return "Kaldı";
}
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$not1 = filter_input(
INPUT_POST, "not1", FILTER_VALIDATE_INT
);
$not2 = filter_input(
INPUT_POST, "not2", FILTER_VALIDATE_INT
);
if (
$not1 !== false && $not1 !== null &&
$not2 !== false && $not2 !== null &&
$not1 >= 0 && $not1 <= 100 &&
$not2 >= 0 && $not2 <= 100
) {
$ortalama = ortalamaHesapla($not1, $not2);
$durum = durumBelirle($ortalama);
echo "<h3>Sonuçlar</h3>";
echo "Ortalama: " . $ortalama . "<br>";
echo "Durum: " . $durum;
} else {
echo "Geçerli sınav notları giriniz.";
}
}
?>
</body>
</html>
Uygulamanın Çalışması:
Kullanıcı HTML formuna iki sınav notu girer ve Hesapla butonuna tıklar.
Girilen değerler POST yöntemiyle PHP'ye gönderilir. Öncelikle notların 0 ile 100 arasında geçerli tam sayılar olup olmadığı kontrol edilir.
ortalamaHesapla() fonksiyonu sınav notlarının ortalamasını hesaplar. durumBelirle() fonksiyonu ise ortalama 50 veya üzerindeyse "Geçti", değilse "Kaldı" sonucunu döndürür.
Not: Bu örnekte eğitim amacıyla 50 puan geçme sınırı olarak kabul edilmiştir.
7. PHP HAZIR FONKSİYONLARI
PHP'de kendi fonksiyonlarımızı oluşturabileceğimiz gibi programlama dilinin sunduğu hazır fonksiyonları da kullanabiliriz.
Sık kullanılan bazı PHP fonksiyonları şunlardır:
| Fonksiyon |
Görevi |
| strlen() |
Bir metnin bayt cinsinden uzunluğunu hesaplar. |
| count() |
Bir dizinin eleman sayısını bulur. |
| max() |
Verilen değerlerin en büyüğünü bulur. |
| min() |
Verilen değerlerin en küçüğünü bulur. |
| round() |
Sayısal değerleri yuvarlar. |
| date() |
Tarih ve saat bilgilerini biçimlendirir. |
| strtoupper() |
Bir metni büyük harfe dönüştürür. |
| strtolower() |
Bir metni küçük harfe dönüştürür. |
Not: strtoupper() ve strtolower() fonksiyonları Türkçe karakterler için her zaman beklenen sonucu vermeyebilir. Çok baytlı metinlerde uygun PHP eklentileri ve fonksiyonları kullanılmalıdır.
8. PHP FONKSİYONLARDA DİKKAT EDİLMESİ GEREKENLER
- Fonksiyon isimleri anlamlı ve anlaşılır olmalıdır.
- Fonksiyon isimleri rakamla başlamamalıdır.
- Aynı kapsamda aynı isimle birden fazla fonksiyon tanımlanmamalıdır.
- Fonksiyonlara ihtiyaç duyulduğunda parametre gönderilebilir.
- Return komutu kullanılarak fonksiyondan sonuç döndürülebilir.
- Bir fonksiyon içerisinde başka fonksiyonlar çağrılabilir.
- Fonksiyonların mümkün olduğunca tek bir görevi yerine getirmesi tercih edilmelidir.
9. ÖĞRENCİLER İÇİN UYGULAMA SORULARI
Uygulama 1: Parametre olarak gönderilen bir sayının karesini hesaplayan ve sonucu return ile döndüren bir PHP fonksiyonu oluşturunuz.
Uygulama 2: Kullanıcının adını ve soyadını parametre olarak alan, "Merhaba Ad Soyad" mesajını ekrana yazdıran bir fonksiyon hazırlayınız.
Uygulama 3: Üç sayıyı parametre olarak alan ve bu sayıların aritmetik ortalamasını hesaplayan bir fonksiyon oluşturunuz.
Uygulama 4: Bir ürünün fiyatını ve indirim oranını parametre olarak alan, indirimli fiyatı hesaplayan bir PHP fonksiyonu hazırlayınız.
Uygulama 5: HTML formundan alınan iki sayıyı dört işlem fonksiyonlarıyla hesaplayan basit bir hesap makinesi uygulaması geliştiriniz. Toplama, çıkarma, çarpma ve bölme işlemleri için ayrı fonksiyonlar oluşturunuz. Sıfıra bölme durumunu kontrol ediniz.
10. SONUÇ
Bu dersimizde PHP fonksiyonlarının ne olduğunu, nasıl oluşturulduğunu ve nasıl kullanıldığını öğrendik.
Fonksiyonlar sayesinde aynı kodları tekrar tekrar yazmak yerine, belirli işlemleri bir kez tanımlayarak farklı yerlerde kullanabiliriz.
Parametreler fonksiyonlara veri göndermemizi, return komutu ise fonksiyonlardan sonuç almamızı sağlar.
PHP ile daha düzenli, okunabilir ve geliştirilebilir uygulamalar oluşturmak için fonksiyonların kullanımı oldukça önemlidir.
Öğrendiğiniz bilgileri pekiştirmek için örnek uygulamaları kendi bilgisayarınızda çalıştırabilir ve farklı fonksiyonlar oluşturarak pratik yapabilirsiniz.