Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
slam4:php:phalcon:models [2015/02/10 00:47] – [4.3- Suppression d'enregistrements] jcheron | slam4:php:phalcon:models [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
====== Modèles ====== | ====== Modèles ====== |
Un modèle est une classe métier, représentant une partie des données d'une application. Dans la plupart des cas, un modèle est associé à une table de la base de données.\\ | Un modèle est une classe métier, représentant une partie des données d'une application. Dans la plupart des cas, un modèle est associé à une table de la base de données.\\ |
[[http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Model.html|Phalcon\Mvc\Model]] est la classe de base des models d'une application. Cette classe met à disposition des fonctionnalités CRUD, offre des possibilités de recherche avancées, et permet de gérer les relations entre models, le tout sans avoir besoin d'utiliser SQL. | [[https://api.phalconphp.com/class/Phalcon/Mvc/Model.html|Phalcon\Mvc\Model]] est la classe de base des models d'une application. Cette classe met à disposition des fonctionnalités CRUD, offre des possibilités de recherche avancées, et permet de gérer les relations entre models, le tout sans avoir besoin d'utiliser SQL. |
| |
Phalcon implémente **ActiveRecord** pour sa partie ORM, il utilise donc l'héritage sur les Models, par opposition à certain ORM qui implémentent **DataMapper** (Doctrine 2) et permettent de travailler avec des models plus indépendants de la couche technique liée à la persistance. | Phalcon implémente **ActiveRecord** pour sa partie ORM, il utilise donc l'héritage sur les Models, par opposition à certains ORM qui implémentent **[[http://en.wikipedia.org/wiki/Data_mapper_pattern|DataMapper]]** (Doctrine 2) et permettent de travailler avec des models plus indépendants de la couche technique liée à la persistance (POPO). |
| |
===== -- Création de models ===== | ===== -- Création de models ===== |
</sxh> | </sxh> |
| |
Phalcon met également a disposition un ensemble d'outils permettant d'associer un comportement aux objets : voir [[http://docs.phalconphp.com/en/latest/reference/models.html#behaviors|behaviors]] : | ===== -- Suppléments ===== |
| |
| ==== -- Events ==== |
| Phalcon permet de gérer/contrôler la mise à jour des objets via des événements, contrôlable de préférence par mise en place d'un [[http://docs.phalconphp.com/en/latest/reference/models.html#events-and-events-manager|eventManager]]. |
| ==== -- Behaviors ==== |
| |
| Phalcon met a disposition un ensemble d'outils permettant d'associer un comportement aux objets : voir [[http://docs.phalconphp.com/en/latest/reference/models.html#behaviors|behaviors]] : |
* timeStempable : pour mémoriser l'heure de mise à jour/ajout d'objets | * timeStempable : pour mémoriser l'heure de mise à jour/ajout d'objets |
* softDelete : pour marquer des enregistrements comme supprimés | * softDelete : pour marquer des enregistrements comme supprimés |