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

13.14.3.8 Voir aussi

×