Impostando 'prefix' => 'admin'
si sta dicendo a CakePHP che si desidera utilizzare un prefisso di admin
per tale percorso; in pratica, significa che si desidera utilizzare le azioni e le viste del controller con nomi con prefisso admin_
. Questa parte di cui sei già a conoscenza e le cose funzioneranno probabilmente con questo.
Durante la creazione di percorsi, però, tutte le chiavi degli array passati nel secondo argomento che non sono riconosciuti da CakePHP (es. Non la solita controller
, action
, plugin
, prefix
roba) vengono impostati come parametri denominati durante le richieste corrispondenti a questa strada.
L'aggiunta di 'admin' => true
è quindi solo un parametro con nome in questo caso, ma presenta i suoi vantaggi. In primo luogo, può rendere il codice più sintetico.
/* Determine if a request came through admin routing */
// without:
if ($this->params['prefix'] == 'admin') {}
// with:
if ($this->params['admin']) {}
/* Create a link that is reverse-routed to an admin prefixed route */
// without:
$html->link('...', array('prefix' => 'admin', 'controller' => 'users'));
// with:
$html->link('...', array('admin' => true, 'controller' => 'users'));
In secondo luogo, fornisce la compatibilità all'indietro con l'instradamento modo amministratore lavorato in CakePHP 1.2 (l'ultima riga dell'esempio precedente è come si sarebbe fatto link di amministrazione di routing in 1.2). Pertanto, gli sviluppatori che migrano dalla versione 1.2 alla 1.3 possono impedire di dover modificare i collegamenti nell'intera applicazione mantenendo il flag nelle loro route (e aggiungendo lo 'prefix' => 'admin'
).
Infine, impostando un flag personalizzato come questo con un parametro con nome e utilizzandolo nell'applicazione invece di fare riferimento al percorso con una stringa esatta, significa che non puoi mai cambiare i collegamenti se cambi il prefisso in qualcosa altro (ad esempio da admin
a administrator
o edit
) ... anche se questo è un punto controverso, poiché è necessario rinominare tutte le azioni e le viste del controller admin_*
. :)
Grazie, proprio quello di cui avevo bisogno – Rob