Interfaces Exterieur vers Dolibarr: Difference between revisions

Line 14: Line 14:


= Utilisation des classes PHP =
= Utilisation des classes PHP =
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php).
Voir la page [[Objets métiers]].
Chacun de ces fichiers offre un classe munie de méthodes pour:
* la récupération d'une entité (la méthode fetch)
* l'insertion en base d'une entité (la méthode create ou insert)
* la mise à jour d'une entité (la méthode update)
* la suppression d'une entité (la méthode delete) si applicable à l'objet
* d'autres méthodes diverses propre à l'entité manipulée.
Cette technique est préférable à la précédente.
 
'''Avantages:''' Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
 
'''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.
 
== Exemple pour la création d'un tiers ==
Voici un exemple pour la création d'un tiers (société client par exemple):
 
Si on est dans le cas d'un script nouveau ou externe à Dolibarr, il est nécessaire de faire au début de son code,
avant toute chose
<source lang="php">
include('/pathofdolibarrhtdocs/master.inc.php');
</source>
pour que l'environnement Dolibarr (objets $conf, $db, $lang et $user) soit créé.
Si on veut que les actions (creation, mise à jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire après l'include du master.inc.php
<source lang="php">
$user->fetch(0,'loginuser');
</source>
 
Ensuite, on peut manipuler réaliser nos actions métiers.
 
<source lang="php">
// On declare la classe que l'on va manipuler
include_once('/pathofdolibarrhtdocs/societe.class.php');
 
// On cree une instance de l'objet à manipuler
$mycompany = new Societe($db);
 
// On renseigne ces caractéristiques
$mycompany->nom='Big Brother';
$mycompany->client=1;
 
// Si on veut que l'action de creation soit associé a un utilisateur 'loginuser' particulier,
// il faut decommenter cette ligne pour charger les caractéristiques de cet utilisateur.
// Si on laisse commenter, Dolibarr mettra null dans les champs du user de création ou mise a jour.
// $user->fetch('loginuser');
 
// On invoque la creation
$id=$mycompany->create($user);
 
// Pour charger l'objet
$mycompany->fetch($id);
 
// Pour mettre a jour
$mycompany->update($user);
</source>
 
== Autres exemples ==
Vous trouverez d'autres examples de manipulation d'objet Dolibarr (Création, Lecture, Modification, Suppression) dans le répertoire '''dev/samples''' du snapshot CVS de Dolibarr.


= Web services =
= Web services =
Voir le module [[Module Services Web]].
Voir le module [[Module Services Web]].