Ho la seguente funzione che crea un'istanza di un oggetto ed esegue il suo metodo. Voglio restituire $to_return
ma il problema è che $to_return
non cambia anche se la funzione utilizza la parola chiave 'uso'. Ecco la funzione:Attendere callback php sull'istanza dell'oggetto e restituire valore sulla funzione
function some_function($arg){
$to_return = false;
$object = new Object;
$to_return = $object->METHOD(function($callback) use ($to_return){
$to_return = $some_var;
});
$to_return = $object->runMETHOD("some_arg");
return $to_return;
}
Quindi, in sostanza:
$to_return
restituito è sempre falso- voglio
some_function
per tornare $ some_var
In breve: come posso fare some_function restituisce l'oggetto modificato all'interno del metodo dell'oggetto?
Basta restituire $ questo nel metodo – peter
@PeterChaula scusa, come esattamente? Potresti essere specifico di questa situazione per favore? Voglio che la funzione restituisca '$ some_var', non un'istanza di un oggetto. – Fane
per aggiornare la proprietà '$ to_return' all'interno della chiusura, quindi dovrai passarlo per riferimento. cioè la funzione (...) usa (& $ to_return) {... '. –