|
|
| 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]]. |