wiki:CopixDAOFactory

Présentation

CopixDAOFactory est la classe qui vous permet de construire des DAO dans Copix.

Identifiant de DAO

Pour vulgariser, les DAO représentent des tables dans la base de données. Pour obtenir un DAO dans Copix, il est nécessaire de fournir un identifiant.

Cette identifiant représente soit directement le nom de la table (auquel cas Copix va analyser la table en base de données pour créer l'objet en question), soit un fichier XML qui décrit le schéma de la(les) tables.

Exemple de demande d'une DAO "automatique" (avec le nom de la table directement)

<?php
//dans la connexion par défaut
$dao = _dao ('NomTable');

//dans la connexion nommée AutreConnexion
$dao = _dao ('NomDeTable', 'AutreConnexion');

Exemple de demande d'une DAO "définie en XML".

<?php
//dans la connexion par défaut
$dao = _dao ('NomFichierXml');//nomfichierxml.dao.xml doit exister dans "resources"

//dans la connexion nommée AutreConnexion
$dao = _dao ('NomFichierTable', 'AutreConnexion');//nomfichiertable.dao.xml doit exister dans "resources"

Méthodes

create ($pId, $pConnectionName = null)

La méthode create permet d'instancier un DAO à partir de son identifiant. $pId est l'identifiant du DAO.

Par défaut, si on ne spécifie aucune connexion dans $pConnectionName, la connexion par défaut sera utilisée.

Le raccourcis de cette méthodes est _dao ($pId, $pConnectionName = null);

getInstanceOf ($pId, $pConnectionName = null)

La méthode getInstanceOf permet d'instancier un DAO à partir de son identifiant. Une seule instance de DAO sera retournée par connexion. Ainsi, si plusieurs appels à getInstanceOf sur un même identifiant de DAO et une même connexion sont effectués, l'instance retournée sera identique.

$pId est l'identifiant du DAO.

Par défaut, si on ne spécifie aucune connexion dans $pConnectionName, la connexion par défaut sera utilisée.

Le raccourcis de cette méthode est _ioDAO ($pId, $pConnectionName = null);

exemple

<?php
$dao = _ioDAO ('NomDAO');
$dao1 = _ioDAO ('NomDAO');
//$dao et $dao1 sont identiques
$dao2 = _ioDAO ('NomDAO', 'AutreConnexion');
//$dao2 et $dao1 ne sont pas identiques, car la connexion n'est pas la même
$dao3 = _ioDAO ('NomDAO', 'AutreConnexion');
//$dao2 et $dao3 sont identiques car elles utilisent la même connexion.

createRecord ($pId, $pConnectionName = null)

La méthode createRecord permet d'obtenir un objet record (mapping objet relationnel de la table représentée par le DAO). Cet objet record est utilisé (entre autre) pour les méthodes update et insert des DAO.

Le raccourcis de cette méthode est _record ($pId, $pConnectionName = null);

fileInclude ($pId, $pConnectionName = null)

La méthode fileInclude permet d'inclure l'objet DAO généré automatiquement pour qu'il soit connu de PHP. Le fait que l'objet soit connu sans forcément l'instancier peut être intéressant dans des contextes tels que des demandes de désérialisation.

Le raccourcis de cette méthode est _daoInclude ($pId, $pConnectionName = null);

Note : Le paramètre $pConnectionName dans le raccourcis n'est disponible que dans Copix 3.0.3+

Voir aussi