isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi)

İsimsiz fonksiyonlar php’nin 5.3 ve sonraki sürümlerinde yer alan güzel bir özelliktir.

Nedir isimsiz fonksiyon? 

Bir mantığa veya algoritmaya ihtiyacınız var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki sadece kodunuzu düzgün yazmak istiyorsunuz, veya yapacağınız şeyi daha temiz yapmak istiyorsunuz.

Bu noktada, isimsiz fonksiyonların kullanımı tercih edilebilir.

$selam = function($isim){
    printf("Merhaba %s\r\n", $isim);
};//şeklinde tanımlayıp
echo $selam('Emre');//şeklinde kullanabiliriz.

Yani anlayacağımız şekilde söylersek, bir değişkene bir fonksiyon atamış gibi bir şey oluruz.

php 5.4 ten itibaren de bu isimsiz fonksiyonların içinde “$this” kelimesi de kullanılabiliyor oldu. Bir Class içerisindeki bir metodun içinde kullanıldığında, $this->fonksiyon_ismi() diyerek ilgili classtaki fonksiyonu da çalıştırabiliyor artık.

http://www.php.net/manual/en/functions.anonymous.php#106046 linkinde ise ilginç (güzel) bir kullanımı var. Bir göz atmanızı tavsiye ederim. (kullanmanızı tavsiye etmem ama :), php içinde html’e karşıyım. )

9 Comments

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) | yusufozkay

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. Bu yazı Uncategorized […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) | Kara Kule

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. By ahmet orsorlu […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) | Boğaç Aslanyürek

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) This entry was posted in Professional and tagged $a = function(), anonim fonksiyonlar, anonymous […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) « Musa Usta'nın Yeri

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun.   Yorum […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) « Gökhan Tunçkale | Blog

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) ShareFacebookTwitterStumbleUponMoreTumblrRedditLinkedInDiggEmailPrintBunu beğen:BeğenBunu […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) « Anil's Blog

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) Bunu beğen:BeğenBunu beğenen ilk kişi […]

    isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) « Murat SAÇ

    […] var ancak bunun dünyanızda o kadar da önemli bir yeri yok. Belki s… Devamı için : isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) Share this:TwitterFacebookBunu beğen:BeğenBunu beğenen ilk kişi olun. […]

    nuknettin

    daha geniş anlamda nerelerde kullanabiliriz sizce. ben zf2 de bir örneğe rastgeldim eventmanager ile kullanılmıştı galiba. sizin örnek göstereceğiniz başka örnekler olabilirmi durumu daha iyi kayrayabilmek adına.

      Emre Macit

      Bu tarz fonskiyonlar, kodun herhangi bir yerinde en ufak bir kısım için bile kullanılır. Amacı, kodun kompleksliğinden o kısmı alıkoymaktır. Diyelim önemli bir fonskiyonunuz var ancak , içinde küçük bir lojiğe daha ihtiyacınız var. Burada yeni bir fonksiyon yazmaktansa, bu şekilde bir tanım ile, hem kodunuzu sadeceleştirebilirsiniz, hem de işleminizi ayrı bir ölçek (scope) içerisinde yapabilmiş olursunuz. Bu tabi ki şart değil, ancak bir seçenek.

isimsiz fonksiyonlar (anonymous functions – closures) (php 5.3 ve sonrasi) | Kara Kule için bir cevap yazın Cevabı iptal et