31,029
edits
| Line 10: | Line 10: | ||
== Utilisation des classes PHP == | == Utilisation des classes PHP == | ||
Il est possible d'utiliser les objets métiers de | Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php). | ||
Chacun de ces fichiers offre un classe munie de | Chacun de ces fichiers offre un classe munie de méthodes pour: | ||
* la récupération d'une entité (la méthode fetch) | * la récupération d'une entité (la méthode fetch) | ||
* l'insertion en base d'une entité (la méthode create ou insert) | * l'insertion en base d'une entité (la méthode create ou insert) | ||
| Line 19: | Line 19: | ||
Cette technique est préférable à la précédente. | 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 | '''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. | '''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. | ||
Voici un exemple pour la création d'un tiers (société client par exemple): | |||
<pre> | |||
include_once('/pathofdolibarrhtdocs/societe.class.php'); | |||
$mycompany = new Societe($db); | |||
$mycompany->nom='Big Brother'; | |||
$mycompany->client=1; | |||
$mycompany->create($user); | |||
</pre> | |||
Rem: Si on est dans le cas d'un script externe à Dolibarr, il est nécessaire de faire au début | |||
<pre>include('master.inc.php');</pre> | |||
pour que les objets $db, $lang et $user soient créés. | |||
Si on veut que les actions (creation, mise a jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire avant | |||
<pre> | |||
$user->fetch('loginuser'); | |||
</pre> | |||
Ainsi, l'objet user est initialisé avec les infos de l'utilisateur 'loginuser'. | |||