Mam następującą funkcję, która tworzy instancję obiektu i uruchamia jego metodę. Chcę zwrócić $to_return
, ale problem polega na tym, że $to_return
nie zmienia się, nawet jeśli funkcja używa słowa kluczowego "use". Oto funkcja:Czekaj na oddzwanianie php na instancję obiektu i zwracaj wartość na funkcję
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;
}
Więc zasadniczo:
$to_return
zwrócony jest zawsze fałszywe- Chcę
some_function
wrócić $ some_var
W skrócie: w jaki sposób mogę zrobić some_function zwraca obiekt zmieniony wewnątrz metody obiektu?
Po prostu zwróć $ this w metodzie – peter
@PeterChaula przepraszam, jak dokładnie? Czy mógłbyś być konkretny w tej sytuacji? Chcę, aby funkcja zwracała '$ some_var', a nie instancję obiektu. – Fane
, aby zaktualizować właściwość '$ to_return' wewnątrz zamknięcia, należy ją przekazać przez odniesienie. tj. "funkcja (...) użycie (& $ to_return) {...". –