Ceci est une ancienne révision du document !
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.
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.
-- Création de models
<?php
class Utilisateur extends \Phalcon\Mvc\Model
{
}
Pour des raisons de clarté, et de performances (avec PHP 5.4/5.5), il est préférable de déclarer dans la classe les membres correspondant aux colonnes de la table de la base de données associée.
<?php
class Utilisateur extends \Phalcon\Mvc\Model{
/**
*
* @var string
*/
protected $prenom;
/**
*
* @var string
*/
protected $nom;
/**
* Method to set the value of field prenom
*
* @param string $prenom
* @return $this
*/
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
/**
/**
* Method to set the value of field nom
*
* @param string $nom
* @return $this
*/
public function setNom($nom)
{
$this->nom = $nom;
return $this;
}
/**
* Returns the value of field prenom
*
* @return string
*/
public function getPrenom()
{
return $this->prenom;
}
/**
* Returns the value of field nom
*
* @return string
*/
public function getNom()
{
return $this->nom;
}
}
Il est préférable de respecter l'encapsulation, et de mettre les membres de données en protégé, en les dotant d'accesseurs (getters/setters), plutôt que de mettre les membres de données en public.
-- Mappage Objet <=> Relationnel
Par défaut, Phalcon effectue un mappage entre classes et tables de la base de données de la façon suivante :
- Table ⇔ Classe du même nom
- Enregistrement ⇔ instance de classe (objet métier)
- Colonne (champ) ⇔ membre de données du même nom
| Base de données | Modèle objet |
|---|---|
| |