PHP Class Üzerinde Parametreli Fonksiyonlar

PHP Class Üzerinde Parametreli Fonksiyonlar

Hepinize merhaba dostlarım :). Bu yazımda sizlere daha önce anlattığım PHP de Class (OOP) işlemlerinde yeri geldiğince kullanılan ve kullanımı bir o kadar da basit olan olaydan yani parameteli fonksiyondan bahsedeceğim :). PHP de Class (OOP) yazısını okumayan dostlarım için link bırakıyorum

https://blog.mfsoftware.net/yazi/php-de-class-ve-nesne-kavrami

linki ile parametreli fonksiyonlar yazıma ulaşabilirsiniz :). Sözü daha fazla uzatmadan gelelim parametreli fonksiyon kullanımına ama önce kısa ve öz tanımlama yapalım :).

Parametreli Fonksiyon Nedir ?

Dostlarım mantıksal bir açıklama yapmak gerekirse parametreli fonksiyon çalıştırılması için dışarıdan değer alması zorunlu bir fonksiyondur :). Mantıksal bir örnek yapacak olursak bir arabanız olsun. Arabanın çalışması için benzin ve akünün olması lazım :). İşte parametreli fonksiyon da bu şekilde çalışır dostlarım :). Gelin sizinle bir Araba isimli class oluşturalım ve bir parametreli method atayalım. İsmi audi_rs7 olsun :). Benzin ve akü parametresi alsın :)

<?php

class Araba{
     public function audi_rs7($benzin,$aku){
	   
    }
}

?>

Evet dostlarım bu şekilde fonksiyonumuzu oluşturduk :). İçerisinde ufak da bir işlem yaptıralım :). Akü durumu 10 dan büyük ise benzini kontrol etsin :). Benzin de 10 dan büyük ise araba çalışsın :). Benzin değeri 10 dan küçük ise araba çalışmasın. Akü durumu da 10 dan küçük ise araba çalışmasın. Gelin bunu hızlıca yazalım

<?php

class Araba{
     public function audi_rs7($benzin,$aku){
	 if($aku>=10){
             // aku 10 dan büyük ise
             if($benzin>=10){
                // benzin 10 dan büyük ise
                echo "Araba Çalıştı";
             }else{
                // benzin 10 dan küçük ise
                echo "Araba Çalışamaz. Benzin yok";
             }
         }else{
            // aku 10 dan küçük ise
            echo "Araba Çalışamaz. Akü gerekiyor";
         }  
    }
}

?>

Evet dostlarım :). Gelin şimdi yazdığımız class yapısında özellikle parametreli fonksiyonu nasıl yazacağımızı inceleyelim :). Olay basit dostlarım hiç zor falan diye kafanıza takmayın :). Örnek olarak benzin değerini 20, akü değerini 40 olarak gönderelim.

<?php
   $araba = new Araba();   // nesne oluşturduk 
   $araba->audi_rs7(20,40);  // nesne altından parametrelere eriştik :)
?>

Class tan nesnemizi oluşturduk ve parametrelerimizi gönderdik dostlarım :). Ekranımıza gelen sonuç ise

Araba Çalıştı

olacaktır :). Siz değerli dostlarımın aklında ufak bir soru oluştu şimdi hissediyorum :).

Parametre göndermezsek nasıl bir hata ile karşılaşırız acaba ?

Güzel soru dostlarım :). Çünkü hatayı görerek bu işlemi kavramanız sizler için çok güzel olacaktır :). Gelin onu da deneyelim

<?php
   $araba = new Araba();   // nesne oluşturduk 
   $araba->audi_rs7();  // nesne altından parametrelere eriştik :). Ama parametre göndermedik
?>

evet dostlarım bu şekilde hiçbir parametre göndermeden yazalım :). İşte bizi aşağıdaki hata karşılayacaktır

Uncaught ArgumentCountError: Too few arguments to function Araba::audi_rs7()
0 passed
exactly 2 expected

dostlarım hata mesajını gördünüz :). Hatada diyor ki "Dostum sen bu fonksiyona 2 adet zorunlu parametre tanımlamışsın :). Ama ikisini de girmemişsin. Bunları gir :)."

biz bunu istersek zorunlu yapmayabiliriz dostlarım :). Onu da aşağıdaki gibi ayarlayabiliriz

<?php

class Araba{                 // zorunlu olmaması için "" dedik yani gelmezse null değer ata :)
     public function audi_rs7($benzin="",$aku=""){
	 if($aku>=10){
             // aku 10 dan büyük ise
             if($benzin>=10){
                // benzin 10 dan büyük ise
                echo "Araba Çalıştı";
             }else{
                // benzin 10 dan küçük ise
                echo "Araba Çalışamaz. Benzin yok";
             }
         }else{
            // aku 10 dan küçük ise
            echo "Araba Çalışamaz. Akü gerekiyor";
         }  
    }
}

?>

bu şekilde yazdık dostlarım :). Ekranımıza gelen çıktı aşağıdaki gibi olacaktır

Araba Çalışamaz. Akü gerekiyor

Evet dostlarım :). Artık parametreli fonksiyonu, zorunlu ve zorunsuz parametreleri rahat şekilde anlamışsınızdır. Kullanımı kolay ama ilk başlarda biraz karmaşık gelebilir :). Ama bunu istikrarlı çalışma ve bol pratik ile rahatça kavrarsınız :)

Umarım faydalı olabilmişimdir dostlarım :). Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar :)

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıJavascript Karar Yapıları
Sonraki YazıPHP Class Üzerinde Yapıcı ve Yıkıcı Methodlar
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz