2013-11-11 4 views
0

Я не знаю, как объяснить этот вопрос, так что, возможно, плитка не соответствует.Функция обнаружения php называется

Class a { 
     function b{ 
     return $this; 
     } 
     function c{ 
     return $this; 
     } 
    } 

Если у меня есть структура класса, как это я могу сделать

$a = new a(); 
$a->b()->c(); 

Я хочу знать, как я могу знать, что функция не продолжается, как $a->b();, то я возвращаю $ retuslt вместо $ это.

Class a { 
    function b{ 

    //if not continued 
    return $result; 

    //if continued 
    return $this; 

    } 
    function c{ 
    return $this; 
    } 
} 

Возможно ли это? Большое спасибо!!

+0

Я не думаю, что вы можете сделать это в PHP. Зачем вам это нужно? –

+0

если это невозможно, это в порядке. – Till

ответ

2

Невозможно. Вы не будете знать внутри метода, что делается с возвратом. Однако вы можете передать возвращаемое значение, например:

Class a { 
    function b(&$return){ 
    // do something 
    $return = 'some value'; 
    return $this; 
    } 
    function c(){ 
    return $this; 
    } 
} 



$a = new a(); 
$a->b($returnFromB)->c(); 
echo $returnFromB; // 'some value' 
+0

Спасибо, я просто хочу знать, возможно ли это. – Till

Смежные вопросы