In CakePHP, è possibile ottenere la chiamata stringa di funzione utilizzando la sintassiCakePHP ottengono nome dell'azione
$this->action
. Restituisce la stringa letterale di ciò che viene chiamato, quindi se l'URL è /do_this
, restituisce do_this
e se è doThis
restituirà doThis
. Indipendentemente dal nome reale del metodo chiamato.
Quello che sto cercando, d'altra parte, è il nome effettivo del metodo chiamato, indipendentemente dalla sintassi dell'URL.
C'è un modo per scoprirlo?
Preferibilmente sarei in grado di farlo nel metodo beforeFilter
.
È la struttura dell'URL pulito di cakephp che qualsiasi cosa si scriva in quell'URL viene chiamata. per esempio www.domain.com/x/y chiamerà y action in x controller. Questo è definito nel tuo file .htaccess. –
Sarebbe di grande aiuto se spiegassi il problema reale che stai cercando di risolvere, ovvero perché esattamente hai bisogno del nome esatto del metodo? ps. per favore menziona sempre la tua versione CakePHP esatta e tagga la tua domanda di conseguenza! – ndm
Forse potresti ottenere l'azione e poi fare 'if (method_exists ('doThis'))' per ogni caso possibile. Ma d'accordo con ndm, se chiarisci la tua intenzione potrebbe esserci un modo migliore. (vedi anche 'function_exists') – Ross