13.14.3 createDoc
Cette fonction permet de créer un nouveau document.
13.14.3.1 Description
[bool|Doc] createDoc ( string $dbaccess, string $fromid, bool $control = true, bool $defaultvalues = true, bool $temporary = false )
Cette fonction permet de créer un nouveau document. Elle :
- contrôle que la famille de document demandée existe,
- contrôle que l'utilisateur courant a le droit de créer ce type de document (optionnel),
- initialise un objet de la classe correspondant à la famille demandée,
- le paramètre avec les valeurs par défaut (optionnel).
Le document retourné n'est pas inséré en base, c'est à la charge du développeur que de procéder, si besoin est, à cette insertion à l'aide de la méthode store.
13.14.3.1.1 Avertissements
Le document retourné n'est pas inséré en base.
Si le paramètre fromid
ne correspond pas à un nom logique de famille un objet
de type \Dcp\Family\Document
est retourné, cet objet n'est pas utilisable et
doit être considéré comme un retour d'erreur.
13.14.3.2 Liste des paramètres
- (string)
dbaccess
- Coordonnées de la base de données. Cette élément peut-être trouvé grâce à la
fonction
getDbAccess()
. - (string)
fromid
- Nom logique de la famille du document à créer.
- (bool)
control
(défaut : true) - Indique si la fonction doit vérifier si l'utilisateur courant à le droit de créer des documents de cette famille. Par défaut le droit est vérifié.
- (bool)
defaultvalues
(défaut : true) - Indique si les valeurs par défaut doivent être initialisées dans le document retourné.
- (bool)
temporary
(défaut : false) - Ce paramètre est obsolète et ne doit pas être utilisé. Pour créer un document temporaire, il faut utiliser la focntion createTmpDoc().
13.14.3.3 Valeur de retour
Un document de la classe correspondant à la famille demandée.
Le document retourné n'est pas inséré en base, c'est à la charge du développeur que de procéder, si besoin est, à cette insertion à l'aide de la méthode store.
13.14.3.4 Erreurs / Exceptions
Si le paramètre fromid
ne correspond pas à un nom logique de famille un objet
de type \Dcp\Family\Document
est retourné, cet objet n'est pas utilisable et
doit être considéré comme un retour d'erreur.
Si l'utilisateur n'a pas le droit de créer le document et que le contrôle est
effectué alors false
est retourné.
13.14.3.5 Historique
Aucun
13.14.3.6 Exemple
require_once "FDL/freedom_util.php"; $animal = createDoc(getDbAccess(), "ZOO_ANIMAL"); var_export(get_class($animal)); print("\n"); printf("is alive ? %s", var_export($animal->isAlive(), true)."\n"); $animal->setValue("an_espece", "ZOO_ESP_ALLI"); $err = $animal->store(); if ($err) { print $err; } printf("is alive ? %s", var_export($animal->isAlive(), true)."\n");
Résultat :
'Dcp\\Family\\Zoo_animal' is alive ? false is alive ? true
13.14.3.7 Notes
Aucune