3.8 Behaviors (Comportamenti)
The original text for this section has changed since it was translated. Please help resolve this difference. You can:
Comportamenti Model sono un modo per organizzare le funzionalità definite nei modelli di CakePHP. Essi permettono di separare la logica che può non essere direttamente relazionata ad un modello, ma necessita di essere in quel posto. Per fornire un semplice ma potente modo per estendere i modelli, i comportamenti ci permettono di aggiungere funzionalità ai modelli definendo una semplice variabile della classe. Questo è il modo in cui i comportamenti dei modelli consentono di sbarazzarsi di tutti gli extra che potrebbero non essere parte della modellazione, o che sono necessari anche in diversi modelli e possono quindi essere estrapolati.
Per esempio, considera un modello che ci dà l'accesso ad una tabella del database che include le informazioni strutturali di un albero. Togliendo, aggiungendo, e migrando nodi nell'albero non è così semplice come aggiungere, togliere e modificare righe nelal tabella. Molti record potrebbero aver bisogno di essere aggiornati se le cose cambiano. Al posto di creare questo metodo di manipolazione dell'albero per ogni modello (per ciascun modello che necessita questa funzionalità), possiamo semplicemente dire al nostro modello di usare il TreeBehavior, o in termini più formali, diremo al nostro modello di comportarsi come Albero. Questo è detto allagare un comportamento a un modello. Con una sola riga di codice, il nostro modello CakePHP prenderà dei nuovi metodi che ci consentirano di interagire con la struttura sottostante.
CakePHP include di già un comportamento per le strutture ad albero, contenuti tradotti, access control list interaction, per non menzionare i comportamenti contribuiti dalla comunità disponibili in CakePHP Bakery (http://bakery.cakephp.org). In questa sezione, comprenderemo il modello base per aggiungere comportamenti ai modelli, come usare i comportamenti di CakePHP, e come crearne uno proprio.
