CakePHP: ricavare la lista dei controllers e salvarla in cache
ATTENZIONE!
Il post ha più di 2 anni e le informazioni contenute
potrebbero essere obsolete (ad esempio a causa di un
aggiornamento di versione rispetto agli elementi descritti
o links modificati da siti esterni).
Ecco una funzione che può tornare utile durante lo sviluppo in cakePHP. Il seguente snippet permette di ricavare dinamicamente la lista di tutti i controllers e salvarla in cache. In questo caso la lista verrà salvata come stringa separata da pipes:
controller_a|controller_b|controller_c
Ed ecco il codice:
//legge la lista dei controllers dalla cache
//(se è stata precedentemente creata)
$controllers = Cache::read('controllers_list');
//se la lista in cache non esiste
if ($controllers === false)
{
$controllers = Configure::listObjects('controller');
foreach ($controllers as &$value)
{
$value = Inflector::underscore($value);
}
$controllers = implode('|', $controllers);
//scrittura della lista in cache
Cache::write('controllers_list', $controllers);
}

Commenti