Model implements the following commonly used features:
- attribute declaration: by default, every public class member is considered as
a model attribute
- attribute labels: each attribute may be associated with a label for display purpose
- massive attribute assignment
- scenario-based validation
Model also raises the following events when performing data validation:
- [[EVENT_BEFORE_VALIDATE]]: an event raised at the beginning of Model::validate
- [[EVENT_AFTER_VALIDATE]]: an event raised at the end of Model::validate
You may directly use Model to store model data, or extend it with customization.
For more details and usage information on Model, see the guide article on models.