Sto sperimentando la realizzazione di alcune classi php e mi trovo di fronte a un quesito: mettiamo di avere una classe con due metodi, A e B, che ognuno a loro volta invoca il metodo C. Io voglio che il metodo C intercetti il metodo è stato invocato (se da A o da B). Allego un esempio funzionante, ma la soluzione che propongo è fin troppo banale, in quanto per ottenere il risultato ottenuto, ho passato un parametro attraverso il metodo invocante, ed è una cosa che non vorrei fare. ( dico una cavolata, non esiste qualcosa tipo get_parent_method()?)

Codice PHP:
<?php
class prova {
    
    function 
func_A() {
            
        
$this->func_C("func_A");
                    
    }
    
    function 
func_B() {
        
        
$this->func_C("func_B");
        
    }
    
    function 
func_C($method) {
        
        print(
"func_C invoked from ".$method."
"
);
        
    }
    
}


$test=new prova();


$test->func_A();
$test->func_B();


//return 
//func_C invoked from func_A

//func_C invoked from func_B

?>
Se mi sono riuscito a spiegare, avete qualche idea?