2013-04-17 16 views
5

sto ottenendo il seguente errore:CakePHP: come utilizzare controller :: referer() in una vista

Strict (2048): Non-static method Controller::referer() should not be called statically, 
assuming $this from incompatible context [APP/View/Questions/admin_edit.ctp, line 20] 

causati da questo:

//in app/View/Questions/admin_edit.ctp 
echo $this->Html->link('Cancel', Controller::referer()); 

Perché?

risposta

14

Non è così. Si utilizza l'oggetto di richiesta invece:

$this->request->referer(); 

Il controller non fa altro internamente.

Attenzione: il referer può essere vuoto e in questo caso è possibile che si desideri fornire un fallback.

notare anche il parametro opzionale $ locale:

@param boolean $local If true, restrict referring URLs to local server

+0

Grazie. Per qualche motivo quando inserisco l'URL direttamente (senza referer) restituisce il mio documento root (esempio.com) invece del mio fallback. Qualche idea del perché? – emersonthis

+0

Questo capita anche a me. Sulla mia copia locale, $ this-> referer() funziona bene, ma sul server, sta solo sputando il nome del dominio. –

Problemi correlati