3.5.2.2 $components, $helpers e $uses
Molto importanti sono gli attributi che definiscono quali helpers, components e models devono essere usati dal controller. Usando questi attributi, queste classi MVC saranno accessibili dal controller come variabili ($this->ModelName, per esempio).
Fai attenzione che ogni controller dispone di default di alcune classi, quindi non devi necessariamente configurarle ogni volta tutte.
In particolare i controllers hanno accesso alla classe del modello principale a cui sono associati. In nostro RicetteController è associato di default al modello Ricetta e vi accede tramite la variabile $this->Ricetta, mentre il nostro controller ProdottiController accede a sua volta al modello Prodotto tramite $this->Prodotto.
Gli Helper Html e Session sono disponibili di default, come anche il componente SessionComponent. I dettagli su queste classi saranno spiegati più avanti in questo manuale.
Osserva come puoi utilizzare le classi associate al controller in CakePHP.
<?php
class RicetteController extends AppController {
var $name = 'Ricette';
var $uses = array('Ricetta', 'User');
var $helpers = array('Html', 'Ajax');
var $components = array('Session', 'Email');
}
?>
<?phpclass RicetteController extends AppController {var $name = 'Ricette';var $uses = array('Ricetta', 'User');var $helpers = array('Html', 'Ajax');var $components = array('Session', 'Email');}?>
Quando definisci questi attributi, stai attendo a includere anche le classi normalmente incluse di default (come l'helper Html, ad esempio) se intendi utilizzarle. Infatti quando definisci esplicitamente questi attributi, sovrascrivi di fatto le impostazioni di default.
