# Introduction

Les Objets de Service de Données (Service Data Objects (SDOs)) permet aux applications PHP de travailler avec des données provenant de différentes sources (comme une requête de base de données, un fichier XML et une feuille de tableau) en utilisant une simple interface.

Chaque différente sorte de source de données requiert un Service d'Accès de Données (Data Access Service (DAS)) pour fournir un accès aux données dans la source de données. Dans votre application PHP, vous utilisez un DAS pour créer une instance SDO qui représente des données dans la source de données. Vous pouvez alors fixer et récupérer des valeurs dans l'instance SDO en utilisant l'interface SDO standard. Finalement, vous pouvez utiliser un DAS pour écrire les données modifiées à une source de données (normalement la même).

Voyez la liste des Services d'Accès de Données pour des détails sur ceux actuellement disponibles. En plus des DASs fournis, SDO fournit aussi des interfaces pour permettre les autres à être implémentés (voyez la section sur Interface SDO Service d'Accès de Données pour plus de détails).

Cette extension est dérivée des concepts pris des » Spécification d'Objets de Service de Données. Elle inclut une version de » Apache Tuscany SDO pour le projet C++.

## La Structure d'un Objet de Service de Données

Une instance d'Objet de Service de Données est fait d'un arbre d'objets de données. L'arbre est défini par des relations contenues entre les objets de données. Par exemple, une objet de données Compagnie peut consister en un nombre d'objets de données Département et donc la Compagnie devrait avoir une relation contenue avec les Départements.

Un SDO peut aussi avoir des références non contenues entre les objets de données dans l'arbre. Par exemple, un objet de données Employé peut faire référence à un autre Employé pour identifier son mentor.

Les données peuvent se référencer entre eux, mais peuvent aussi avoir des propriétés primitives. Par exemple, l'objet de données Compagnie pourrait avoir une propriété appelée "nom" de type chaîne de caractères pour contenir le nom de la compagnie (par exemple, "Acme").

Chacune de ces propriétés de l'objet de données - références contenues, références non-contenues ou propriétés primitives - peut avoir plusieurs valeurs ou une seule. Dans l'exemple ci-dessous, "Departements" a plusieurs valeurs alors que le nom de la compagnie n'en a qu'une.

En PHP, chaque objet de données SDO est représenté en tant qu'objet PHP. Les propriétés de l'objet de données peuvent être accédées en utilisant soit la syntaxe orientée objet, soit la syntaxe de tableaux associatifs. Nous verrons quelques exemples de cela plus tard dans la documentation.