chiamare azione di controllo da file ctp
Domanda
Voglio chiamare un'azione di file di controllo da un file .ctp in CakePHP. È possibile? Sì, che come? per favore aiuto. per esempio Ho un azione di controllo. users_controller.php
<?php
class UsersController extends AppController {
function get_category() {
....
}
}
?>
voglio chiamarlo dal file /question/index.ctp.
Soluzione
Il modo corretto per farlo è:
$this->requestAction(array('controller' => 'users', 'action' => 'get_category'));
Creazione del the CakePHP way
URL aumenta le prestazioni (non sarà necessario utilizzare il router). Inoltre sarà sempre il lavoro, mentre lo fa come:. "Gli utenti / get_category" potrebbe causare qualche problema quando non sei nella pagina indice
Si deve essere utilizzato solo a elementi (con la cache in particolare), se il caso è diverso -. Reefer a ciò che Travis Leleu
ha scritto nel suo commento
Altri suggerimenti
Si deve notare che non si dovrebbe fare affidamento su requestAction come una pratica comune. requestAction è una chiamata estremamente tassare e deve essere utilizzato solo se non è possibile organizzare il codice in qualsiasi altro modo.
Idealmente, devi inviare i dati necessari dal vostro azione di controllo alla vista, piuttosto che richiamare fino al controller.
function my_action() {
...
$this->set('category', $this->getCategory());
}
si può chiamare come $ this-> requestAction ( 'Controller' => 'utenti', 'Azione' => 'get_category')