Türler
PHP Manual

Bu belgede kullanılan sözde türler ve değişkenler

mixed

mixed anahtar sözcüğü, bir değiştirgenin çok sayıda tür (ama hepsini değil) kabul edebileceğini belirtir.

Örneğin, str_replace() işlevi sadece string veya array türünde değer kabul ederken, gettype() işlevi tüm PHP türlerini kabul eder.

number

number anahtar sözcüğü, bir değiştirgenin integer veya float türünde değer kabul edeceğini belirtir.

callback

call_user_func(), usort() gibi işlevler değiştirge olarak kullanıcı tanımlı geriçağırım işlevlerini kabul ederler. Geriçağırım işlevleri her zaman basit işlevler olmayabilir, nesne yöntemleri ve hatta duruk sınıf yöntemleri bile olabilirler.

Bir PHP işlevi, string türündeki ismiyle aktarılır. Şu dil oluşumları dışında herhangi bir yerleşik veya kullanıcı tanımlı işlev kullanılabilir: array(), echo, empty(), eval(), exit(), isset(), list(), print veya unset().

Örneklenmiş bir nesnenin bir yöntemi, nesnenin ismi 0. indiste, yöntem ismi 1. indiste yer alan bir dizi olarak aktarılır.

Duruk sınıf yöntemleri de sınıf ismi 0. indiste içerilerek, sınıf bir nesne olarak örneklenmeksizin aktarılabilir.

create_function() işlevi bildik kullanıcı tanımlı işlevlerden başka, bir anonim geriçağırım işlevi oluşturmak için de kullanılabilir. PHP 5.3.0'dan itibaren işleve değiştirge olarak bir anonim işlev aktarmak mümkün oldu.

Örnek 1 - Geriçağırım işlevi örnekleri

<?php

// Bir geriçağırım işlevi örneği
function geriçağırım_işlevim() {
    echo 
'merhaba dünya!';
}

// Bir geriçağırım yöntemi örneği
class Sınıfım {
    static function 
geriçağırımYöntemim() {
        echo 
'Merhaba Dünya!';
    }
}

// 1. tür: Basit geriçağırım
call_user_func('geriçağırım_işlevim');

// 2. tür: Duruk sınıf yöntemi çağrısı
call_user_func(array('Sınıfım''geriçağırımYöntemim'));

// 3. tür: Nesne yöntemi çağrısı
$nesne = new Sınıfım();
call_user_func(array($nesne'geriçağırımYöntemim'));

// 4. tür: Duruk sınıf yöntemi çağrısı (PHP 5.2.3 ve sonrası)
call_user_func('Sınıfım::geriçağırımYöntemim');

// 5. tür: Göreli duruk sınıf yöntemi çağrısı (PHP 5.2.3 ve sonrası)
class {
    public static function 
kimsin() {
        echo 
"A\n";
    }
}

class 
extends {
    public static function 
kimsin() {
        echo 
"B\n";
    }
}

call_user_func(array('B''parent::kimsin')); // A
?>

Örnek 2 - Anonim işlev kullanan bir geriçağırım işlevi örneği

<?php
// Anonim işlevimiz
$double = function($a) {
    return 
$a 2;
};

// Sayı aralığımız
$numbers range(15);

// Aralık içindeki her elemanın boyutunu
// ikiye katlamak için geriçağırım işlevi
// olarak burada anonim bir işlev kullanalım
$new_numbers array_map($double$numbers);

print 
implode(' '$new_numbers);
?>

Yukarıdaki örneğin çıktısı:

2 4 6 8 10

Bilginize: PHP4'te, kopyayı değil de asıl nesneyi işaret eden bir geriçağırım oluşturmak için gönderim kullanmak gerekir. Daha fazla bilgi için Gönderimler Hakkında bölümüne bakınız.

Bilginize:

call_user_func() ve call_user_func_array() gibi işlevlerle kayıt altına alınmış geriçağırım işlevleri, bir önceki geriçağırım işlevinde oluşmuş ve yakalanmamış bir istisna varsa çağrılmaz.

void

void bir dönüş türü olarak dönüş değerinin yararsız olduğu anlamına gelir. void bir değiştirge listesinde kullanıldığında işlevin değiştirge kabul etmediği anlamına gelir.

... (üçlü nokta)

$... değiştirgesi işlev bildirimlerinde "ve benzerleri" anlamına gelir. Bu değişken ismi bir işlevde kullanıldığında işlev sonsuz sayıda değiştirge alabilir.


Türler
PHP Manual