mavzermete 1
mavzermete
romegames 1
romegames
kaptanmikro1 1
kaptanmikro1
Reklam vermek için turkmmo@gmail.com

PHP - Ok Fonksiyonları

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