Psych0SoociaL 1
Psych0SoociaL
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle

PHP - Ok Fonksiyonları

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

https___thepracticaldev.s3.amazonaws.com_i_xr6so18hm5gi1jvi2kce.png


Ok fonksiyonları PHP 7.4 sürümünde tanıtıldı. Ok fonksiyonları anonim fonksiyonlar yazmak için daha basit ve daha öz bir sözdizimi sağlar. PHP 7.4 ile ok fonksiyonlarını tanımlamak için geleneksel "function " anahtar kelimesi yerine bir anahtar kelime " fn " tanıtıldı.

fn (argument_list) => expr

  • " => " sembolünden sonra sadece bir ifade vardır ve değeri ok fonksiyonunun dönüş değeridir.
  • Ok fonksiyonunun açık bir return ifadesi yoktur.
  • Anonim fonksiyonda olduğu gibi, ok fonksiyonu da çağrılabilmesi için bir değişkene atanır.

Örnek

Aşağıdaki örnek, PHP'de ok işlevini nasıl kullanabileceğinizi gösterir.

PHP:
<?php
   $add = fn ($a, $b) => $a + $b;

   $x = 10;
   $y = 20;
   echo " x: $x y: $y Addition: " . $add($x, $y);
?>

Aşağıdaki çıktıyı üretecektir:

x: 10 y: 20 Addition: 30


Ok İşlevini Geri Çağırma İşlevi Olarak Kullanma

Ok fonksiyonunu geri çağırma fonksiyonu olarak da kullanabiliriz. Geri çağırma fonksiyonları başka bir fonksiyonun argümanlarından biri olarak kullanılır. Ok fonksiyonu anında yürütülür ve "=>" sonrasındaki ifadenin değeri, yerleşik veya kullanıcı tanımlı bir fonksiyon olabilen ana fonksiyonun argümanı olur.

Örnek

Bu örnekte, kullanıcı tanımlı bir karşılaştırma fonksiyonu kullanarak bir diziyi değerlere göre sıralayan yerleşik bir fonksiyon olan usort() fonksiyonunun içinde bir ok fonksiyonunu kullanıyoruz.

PHP:
<?php
   $arr = [10,3,70,21,54];
   usort ($arr, fn ($x , $y) => $x > $y);

   foreach ($arr as $x){
      echo $x . "\n";
   }
?>

Aşağıdaki çıktıyı üretecektir:


Üst Kapsamdan Değişkenlere Erişim

Ok işlevleri, ana kapsamdaki değişkenlere otomatik olarak erişebilir. Anonim işlevlerin aksine, " use " anahtar sözcüğü, bir kapanış işlevi görmesi için gerekli değildir. İfadede kullanılan bir değişken ana kapsamda tanımlandığında, örtük olarak değere göre yakalanır.

PHP:
<?php
   $maxmarks=300;
   $percent=fn ($marks) => $marks*100/$maxmarks;

   $m = 250;
   echo "Marks = $m Percentage = ". $percent($m);
?>

Aşağıdaki çıktıyı üretecektir:

Marks = 250 Percentage = 83.333333333333

Örnek

Ok fonksiyonları, iç içe geçmiş olsalar bile değişkenleri değerlerine göre otomatik olarak yakalar.

Aşağıdaki örnekte, bir ok fonksiyonu başka bir ok fonksiyonunun ifade kısmında tanımlanmıştır.

PHP:
<?php
   $z = 1;
   $fn = fn($x) => fn($y) => $x * $y + $z;
   $x = 5;
   $y = 10;
   echo "x:$x y:$y \n";
   echo "Result of nested arrow functions: " . ($fn($x)($y));
?>

Aşağıdaki çıktıyı üretecektir:
x:5 y:10
Result of nested arrow functions: 51

Tıpkı anonim fonksiyonlarda olduğu gibi, ok fonksiyonu sözdizimi, parametre ve dönüş tipleri, varsayılan değerler, değişken değerler ve referansla geçirme ve döndürme gibi keyfi fonksiyon imzalarına izin verir.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst