2016-04-13 53 views
0

Bu yüzden bir geri arama işlevi ayarlıyım ve kodumun çalışabilmesi için en verimli yolu buldum ve sorguları tekrarlamanız gerekmemesi, geri çağırma işleviyle yapılan bir değişkeni almak ve kullanmaktır Fonksiyonun dışında.Geri çağırma işlevlerinden gelen değişkenleri geri alma

Bu yüzden bir işlev şöyle var:

// Not as important. 
myCallbackFunction(callable $callback) { 
    // Some stuff executed. 
    $callback($VARIABLE); 
} 
// Front end of the code 
$OBJECT->myCallbackFunction(function($RANDOM)) { 
    $id = 1; // Example number that is given. 
}); 

Yani geriçağrıcıdan $id değişkeni gerekiyordu, ben de kullanıcı arabiriminde bu kodu eklendi: kullanmaya çalışıyor

global $id; 

Bu değişken boş gibi gelir ama oradadır.

Geri arama işlevlerinden değişkenler almanın başka bir yolu var mı? Geri aramalarda yeniyim, bu yüzden daha önce sorulmuşsa veya basit bir düzeltme varsa özür dilerim.

cevap

0

Değişkeni geri aramanızdan döndürmeniz gerekir, daha sonra, söz konusu kodu çağırmak için kullanılabilir.

<?php 
function runCallback($callback) { 
    $id = $callback(); 

    echo $id; // 1234 
} 

runCallback(function() { 
    $id = 1234; 
    return $id; 
});