Facebook üzerinden üye olduğum bir grupta return komutu nun bir tartışma konusu olabileceğini görünce konu hakkında hemen bir yazı yazma gereği duydum .
return komutu fonksiyonlardan bir değer döndürmek için kullanılır , sanıldığı üzere method/fonksiyon sonlandırmak amacı ile exit die gibi kullanılmaz , return komutunun bir işlevi vardır ve işlemi biten fonksiyonların ürettiği değeri fonksiyonun çağırıldığı yere götürülmesini ve verinin kullanılabilir olmasını sağlar.
return komutu OOP mimarisine sahip tüm yazılım dillerinde vardır, dolayısıyla bu komutun ne işe yaradığını bilmeden yazılım işi ile uğraşmak düşünülemez teklif dahi edilemez, return komutu ile sadece tek bir değer döndürülebilir yani fonksiyon içerisinde bulunan tüm değişkenlerin tek bir return ile döndürülmesi mümkün değildir, yani fonksiyonumuz içerisinde bir işlem yaptık sonrasında bu işleme ait bir değer oluşturduk bunu return ile geri döndürürüz bunu PHP bir örnek ile kolayca anlatabiliriz.
<?php $toplam = topla(2,3); echo $toplam ; function topla($birinci ,$ikinci){ $toplamlar = $birinci + $ikinci ; return $toplamlar; }
yukarıdaki örnekte bir fonksiyon yazdık ve iki sayının toplamını gerçekleştiren bir fonksiyon bu fonksiyonumuza 2 ve 3 integer değerlerini gönderdik fonksiyon içerisinde bu sayılar toplandı sonrasında $toplamlar değişkenine atandı işte burada bu $toplamlar değişkeninin program içerisinde kullanılabilmesi için fonksiyonunun çağırıldığı yere yani $toplam değişkenin içerisine atanmasını fonksiyon üzerinden return ile dönüş yapılmasını sağladık ve sonrasında $toplam değişkeni $toplamlar değişkenine eşit olmuş oldu .
Return komutunu PHP dili için anlattım ancak bu bütün sınıf yapısına sahip diller için kullanımı birebir aynıdır hatta yazımı bile değişmez.
return komutu daima fonksiyonun sonunda yer almalıdır if , else , for , while gibi koşullandırmalar ve döngüler içerisinde kullanılmamalıdır , işlemlerimizi sağlamalı sonrasında bu işlem sonucu bir değişkene yüklenmeli ve bu değişken return edilmelidir, her koşul sonunda birden fazla return kullanmak tavsiye edilmez, kullanabilirsiniz ancak kullanmayın !.
Eğer return ile birden fazla değer döndürülmek isteniyorsa bütün olasılıklar bir dizi içerisine import edilmeli sonrasında bu dizi return edilmelidir, çünkü sadece bir değişken döndürebilirsiniz, tek bir dizide yapı olarak sadece bir değişkendir, içerisinde ne yüklü olduğu return ü ilgilendirmez.