2.1.3 Modell kiterjesztések
Az előzőekhez hasonlóan a viselkedések (behaviors) a modellekhez adnak hozzá általános funkciókat. Például ha az adataidat egy fa struktúrában tárolod akkor mondjuk a User modellt meghatározhatod úgy, hogy faként viselkedjen, és így az elemek hozzáadása, eltávolítása vagy áthelyezése a háttérben lévő viselkedés segítségével automatikusan kezelhető.
A modellek rendelkeznek egy adatforrás DataSource nevű osztállyal. Az adatforrások egy absztrakt réteg amely abban segít, hogy a modell egyidejűleg többféle adatforrással dolgozzon. A CakePHP alkalmazásokban általában a fő adatforrás egy adatbázis, de meghatározhatsz kiegészítő adatforrásokat melyekből a modell adatokat szerezhet, legyenek azok akár RSS csatornák, LDAP bejegyzések, vagy iCal események. Az adatforrások lehetővé teszik, hogy a különböző helyről származó adatokat összekapcsold. így nem vagy lekorlátozva SQL joinokra. Az adatforrások lehetővé teszik, hogy megadd, hogy az LDAP modelled kapcsolatban van több iCal eseménnyel.
Akárcsak a vezérlőkben a modellekben is használhatunk callback-okat:
- beforeFind() - keresés előtt
- afterFind() - keresés után
- beforeValidate() - adatellenőrzés előtt
- beforeSave() - mentés előtt
- afterSave() - mentés után
- beforeDelete() - törlés előtt
- afterDelete() - törlés után
Az eljárások nevei eléggé kifejezőek ahhoz, hogy megértsd, hogy mit is csinálnak. A részletekről a modell fejezetben olvashatsz.
