{NL} - 2.1.3 Model Extensies
Op een zelfde manier werken Behaviors als een manier om gemeenschappelijke functionaliteit tussen modellen toe te voegen. Bijvoorbeeld, als u gebruikersgegevens opslaat in een boomstructuur, kunt u uw User model instellen zodat deze zich zal gedragen als een boom en u extra functionaleit verkrijgt voor het verwijderen, toevoegen en verschuiven van knooppunten in uw onderliggende boomstructuur.
Modellen worden ook ondersteund door een andere klasse genaamd DataSource. DataSources zijn een abstractie die het mogelijk maken dat modellen verschillende typen van data op een consistente wijze kunnen manipuleren. Terwijl de belangrijkste bron van gegevens in een CakePHP toepassing vaak een database is, zou u wellicht toch nog additionele DataSources willen schrijven zodat uw modellen ook RSS feeds, CSV bestanden, LDAP entries, of iCal events kunnen vertegenwoordigen. DataSources maken het mogelijk om records uit verschillende bronnen met elkaar te associeren: in plaats van te worden beperkt door SQL joins, kunnen DataSources uw LDAP model zeggen dat het verbonden is met meerdere iCal events.
Net zoals controllers, zijn modellen ook uitgerust met callbacks:
- beforeFind()
- afterFind()
- beforeValidate()
- beforeSave()
- afterSave()
- beforeDelete()
- afterDelete()
De namen van deze methoden zouden beschrijvend genoeg moeten zijn om u te laten weten wat ze doen. Kijk voor de details in het hoofdstuk "Modellen".
{EN} - 2.1.3 Model Extensions ("Behaviors")
Similarly, Behaviors work as ways to add common functionality between models. For example, if you store user data in a tree structure, you can specify your User model as behaving like a tree, and gain free functionality for removing, adding, and shifting nodes in your underlying tree structure.
Models also are supported by another class called a DataSource. DataSources are an abstraction that enable models to manipulate different types of data consistently. While the main source of data in a CakePHP application is often a database, you might write additional DataSources that allow your models to represent RSS feeds, CSV files, LDAP entries, or iCal events. DataSources allow you to associate records from different sources: rather than being limited to SQL joins, DataSources allow you to tell your LDAP model that it is associated to many iCal events.
Just like controllers, models are featured with callbacks as well:
- beforeFind()
- afterFind()
- beforeValidate()
- beforeSave()
- afterSave()
- beforeDelete()
- afterDelete()
The names of these methods should be descriptive enough to let you know what they do. You can find the details in the models chapter.
Differences
| Lines: 1-8 | Lines: 1-8 | ||
| - | <title>Model Extensions ("Behaviors")</title> <p>Similarly, Behaviors work as ways to add common functionality between models. For example, if you store user data in a tree structure, you can specify your User model as behaving like a tree, and gain free functionality for removing, adding, and shifting nodes in your underlying tree structure.</p> <p>Models also are supported by another class called a DataSource. DataSources are an abstraction that enable models to manipulate different types of data consistently. While the main source of data in a CakePHP application is often a database, you might write additional DataSources that allow your models to represent RSS feeds, CSV files, LDAP entries, or iCal events. DataSources allow you to associate records from different sources: rather than being limited to SQL joins, DataSources allow you to tell your LDAP model that it is associated to many iCal events.</p> <p>Just like controllers, models are featured with callbacks as well:</p> |
+ | <title>Model Extensies</title> <p>Op een zelfde manier werken Behaviors als een manier om gemeenschappelijke functionaliteit tussen modellen toe te voegen. Bijvoorbeeld, als u gebruikersgegevens opslaat in een boomstructuur, kunt u uw User model instellen zodat deze zich zal gedragen als een boom en u extra functionaleit verkrijgt voor het verwijderen, toevoegen en verschuiven van knooppunten in uw onderliggende boomstructuur.</p> <p>Modellen worden ook ondersteund door een andere klasse genaamd DataSource. DataSources zijn een abstractie die het mogelijk maken dat modellen verschillende typen van data op een consistente wijze kunnen manipuleren. Terwijl de belangrijkste bron van gegevens in een CakePHP toepassing vaak een database is, zou u wellicht toch nog additionele DataSources willen schrijven zodat uw modellen ook RSS feeds, CSV bestanden, LDAP entries, of iCal events kunnen vertegenwoordigen. DataSources maken het mogelijk om records uit verschillende bronnen met elkaar te associeren: in plaats van te worden beperkt door SQL joins, kunnen DataSources uw LDAP model zeggen dat het verbonden is met meerdere iCal events.</p> <p>Net zoals controllers, zijn modellen ook uitgerust met callbacks:</p> |
| <ul> | <ul> | ||
| <li>beforeFind()</li> | <li>beforeFind()</li> | ||
| <li>afterFind()</li> | <li>afterFind()</li> | ||
| <li>beforeValidate()</li> | <li>beforeValidate()</li> | ||
| Lines: 10-14 | Lines: 10-14 | ||
| <li>afterSave()</li> | <li>afterSave()</li> | ||
| <li>beforeDelete()</li> | <li>beforeDelete()</li> | ||
| <li>afterDelete()</li> | <li>afterDelete()</li> | ||
| </ul> | </ul> | ||
| - | <p>The names of these methods should be descriptive enough to let you know what they do. You can find the details in the models chapter.</p> | + | <p>De namen van deze methoden zouden beschrijvend genoeg moeten zijn om u te laten weten wat ze doen. Kijk voor de details in het hoofdstuk <a href="http://book.cakephp.org/view/66/">"Modellen"</a>.</p> |
