Fonctions SDO
Services d'Accès de Données
La table ci-dessous liste les Services d'Accès de Données SDO actuellement fournis :
Nom DAS | Description |
---|---|
SDO_DAS_XML | Un Service d'Accès de Données XML supportant la lecture/écriture SDOs comme documents XML. |
SDO_DAS_Relational | Un Service d'Accès de Données basé sur PDO supportant la lecture/écriture SDO aux bases de données relationnelles. Implémente une politique optimiste de mises à jour concourante. |
Classes pré-définies
SDO consiste en trois blocs d'interface. Le premier bloc couvre les interfaces pour utiliser avec les applications typiques SDO. Celles-ci sont identifiées par le préfixe de paquet 'SDO_'. Le deuxième bloc est celui qui utilise les interfaces qui sont utilisées pour la réflexion, et travaille avec le modèle d'objet de données. Ces interfaces sont identifiées par le préfixe de paquet 'SDO_Model_'. Finalement, le troisième bloc est celui qui utilise les interfaces qui sont utilisées par les implémentations de Service d'Accès de Données et sont identifiées par le préfixe de paquet 'SDO_DAS_'. La majorité des utilisateurs SDO n'auront pas besoin d'utiliser ou de comprendre les interfaces 'SDO_Model_' et 'SDO_DAS_'.
Interface Application pour programmer SDO
SDO_DataObject
L'interface principale dans laquelle les objets de données sont manipulés. En plus des méthode ci-dessous, SDO_DataObjet étend les interfaces ArrayAccess, SDO_PropertyAccess (définit les méthodes __get() / __set() pour surcharger l'accès aux propriétés), Iterator et Countable.
Méthodes
-
getSequence : récupère la séquence pour l'objet de données
-
createDataObject : crée un objet de données enfant
-
clear : détruit les propriétés d'un objet de données
-
getContainer : récupère le conteneur (aussi connu en tant que 'parent') de l'objet de données
-
getTypeName : récupère le nom du type de cet objet de données
-
getTypeNamespaceURI : récupère l'URI de l'espace de noms du type de cet objet de données
SDO_Sequence
L'interface avec laquelle on peut accéder aux objets de données en séquence pour préserver l'ordre parmi les propriétés de l'objet de données et pour permettre le texte non structuré. SDO_Sequence préserve les indices contigus et donc l'insertion ou la suppression d'éléments peut entraîner un décalage des autres éléments vers le haut ou vers le bas. En plus des méthodes ci-dessous, SDO_Sequence étend les interfaces ArrayAccess, Interator et Countable.
Méthodes
-
getProperty : récupère la propriété pour un index de séquence donné
-
move : déplace un élément d'un index vers un autre
-
insert : insère une nouvelle valeur dans la séquence
SDO_List
L'interface dans lequel les propriétés de plusieurs valeurs sont manipulées. En plus des méthodes définies ci-dessous, SDO_List étend ArrayAcces, Iterator et Countable. SDO_List préserve les indices contigus et donc l'insertion ou la suppression des éléments peut décaler les autres éléments vers le haut ou vers le bas.
SDO_DataFactory
L'interface dans lequel les objets de données peuvent être créés. Un Service d'Accès de Données est responsable de remplir le modèle (c'est-à-dire, la configuration des classe de données avec le type et les informations de structure pour les objets de données qu'elle peut créer.) pour les classes et peut alors optionnellement retourner une instance ou une implémentation de l'interface de SDO_DataFactory.
SDO_Exception
Une exception SDO_Exception est lancée lorsque la demande de l'appelant ne peut être honorée. Les sous classes de SDO_Exception sont :
-
SDO_PropertyNotSetException - la propriété spécifiée existe mais n'a pas été définie ou n'a pas de valeur par défaut
-
SDO_PropertyNotFoundException - la propriété spécifiée ne fait pas partie du type de l'objet de données
-
SDO_TypeNotFoundException - l'URI d'espace de noms spécifiée ou le nom du type est inconnu
-
SDO_InvalidConversionException - la conversion entre les types d'assignation n'est pas possible
-
SDO_IndexOutOfBoundsException - l'index numérique d'un objet de données, d'une séquence ou d'une liste n'est pas dans un intervalle valide
-
SDO_UnsupportedOperationException - la demande n'a pû être honorée car elle n'est pas autorisée, par exemple, une tentative de définition d'une propriété en lecture seule
Interfaces de réflexion d'application pour programmer SDO
SDO_Model_ReflectionDataObject
L'interface principale est utilisée pour la réflexion d'une instance d'objet de données pour obtenir son type de modèle et les informations de propriété. Elle est désignée pour suivre le motif de réflexion introduit dans PHP 5.
Méthodes
-
export : récupère une chaîne décrivant l'objet de données.
-
getType : récupère le SDO_Model_Type pour l'objet de données.
-
getInstanceProperties : récupère les propriétés de l'instance de l'objet de données.
-
getContainmentProperty : récupère la propriété qui définit la relation contenue de l'objet de données.
SDO_Model_Type
L'interface dans lequel les informations de type de l'objet de données peuvent être récupérées. Cette interface peut être utilisée pour trouver le nom de type et l'espace de nom URI du type, si le type autorise l'ouverture du contenu, et ainsi de suite.
Méthodes
-
getName : récupère le nom du type.
-
getNamespaceURI : récupère l'espace de nom URI du type.
-
isInstance : vérifie pour un objet de données s'il est une instance du type.
-
getProperties : récupère les propriétés du type.
-
getProperty : récupère une propriété de type.
-
isDataType : vérifie pour voir si le type est une primitive de type scalaire.
-
isSequencedType : vérifie pour voir s'il s'agit d'un type de séquence.
-
isOpenType : vérifie pour voir s'il s'agit d'un type ouvert.
-
isAbstractType : vérifie pour voir s'il s'agit d'un type d'abstraction.
-
getBaseType : récupère le type de base de ce type (si un existe).
SDO_Model_Property
L'interface dans lequel les informations de propriété d'objet peuvent être récupérées. Cette interface peut être utilisée pour trouver le type d'une propriété, si une propriété a une valeur par défaut, si une propriété est contenue ou référencée par son parent, sa cardinalité, et ainsi de suite.
Méthodes
-
getName : récupère le nom de la propriété.
-
getType : récupère le type de la propriété.
-
isMany : vérifie pour voir si la propriété est de valeurs multiples.
-
isContainment : vérifie pour voir si la propriété décrit une relation contenue.
-
getContainingType : récupère le type qui contient cette propriété.
-
getDefault : récupère la valeur par défaut pour une propriété.
Interfaces de développeur Service d'Accès de Données SDO
SDO_DAS_DataObject
L'interface dans lequel un Service d'Accès de Données peut accéder à SDO_DAS_ChangeSummary de l'objet de données. Le résumé de changement est utilisé par le Service d'Accès de Données pour vérifier les conflits lors des applications des changements à une source de données.
SDO_DAS_ChangeSummary
L'interface dans lequel l'historique de changement d'un objet de données est accédé. Le résumé de changement contient des informations pour n'importe quelles modifications sur un objet de données qui s'est produites lorsque la journalisation a débuté. Dans le cas de suppression ou de modification, les dernières valeurs sont aussi gardées dans le résumé de changement.
Si la journalisation n'est plus active, alors le résumé de changement contient seulement les changements faits jusqu'au point où la journalisation fut désactivée. La réactivation de la journalisation supprime le résumé de changement. Cela peut être utile lorsqu'un certain nombre de changements ont été écris par un DAS et un objet de données qui est réutilisé.
Méthodes
-
beginLogging : démarre la journalisation des changements faits à l'objet de données
-
endLogging : termine la journalisation des changements faits à l'objet de données
-
isLogging : vérifie pour voir si la journalisation des changements est activée
-
getChangedDataObjects : récupère une liste de d'objets de données qui ont été changés
-
getChangeType : récupère le type de changement qui a été fait à l'objet de données
-
getOldValues : récupère une liste des anciennes valeurs pour un objet de données
-
getOldContainer : récupère un ancien conteneur d'objet de données pour un objet de données supprimé
SDO_DAS_Setting
L'interface dans lequel l'ancienne valeur pour une propriété est accédée. Une liste des configurations est retournée par le résumé de changement dont la méthode est getOldValues.
Méthodes
-
getPropertyIndex : récupère l'index pour la propriété changée
-
getPropertyName : récupère le nom pour la propriété changée
-
getValue : récupère l'ancienne valeur pour la propriété changée
-
getListIndex : récupère la liste des index pour l'ancienne valeur si elle faisait partie d'une propriété à valeurs multiples
-
isSet : vérifie si la propriété était fixée avant d'être modifiée
SDO_DAS_DataFactory
L'interface pour construire le modèle pour un SDO_DataObjet. Le SDO_DAS_DataFactory est une classe abstraite fournissant une méthode statique qui retourne une classe d'implémentation de données concrète. L'implémentation est utilisée par les Services d'Accès de Données pour créer un modèle SDO à partir de leur modèle. Par exemple, un Service d'Accès de Données Relationnel peut créer et remplir un modèle SDO_DAS_DataFactory basé sur un schéma pour une base de données relationnelle.
Méthodes
-
getDataFactory : méthodes statiques pour obtenir une instance de classe concrète de données
-
addType : ajoute un nouveau type au modèle SDO
-
addPropertyToType : ajoute une nouvelle propriété à une définition de type dans le modèle SDO
Sommaire
- SDO_DAS_ChangeSummary::beginLogging — Commence la journalisation
- SDO_DAS_ChangeSummary::endLogging — Termine la journalisation
- SDO_DAS_ChangeSummary::getChangeType — Récupère le type de changement qui a été fait à l'objet de données
- SDO_DAS_ChangeSummary::getChangedDataObjects — Récupère une liste de d'objets de données qui ont été changés
- SDO_DAS_ChangeSummary::getOldContainer — Récupère un ancien conteneur d'objet de données pour un objet de données supprimé
- SDO_DAS_ChangeSummary::getOldValues — Récupère une liste des anciennes valeurs pour un objet de données
- SDO_DAS_ChangeSummary::isLogging — Vérifie pour voir si la journalisation des changements est activée
- SDO_DAS_DataFactory::addPropertyToType — Ajoute une nouvelle propriété à une définition de type
- SDO_DAS_DataFactory::addType — Ajoute un nouveau type à un modèle
- SDO_DAS_DataFactory::getDataFactory — Récupère l'instance de classe de données
- SDO_DAS_DataObject::getChangeSummary — Récupère le résumé de changement pour un objet de données
- SDO_DAS_Setting::getListIndex — Récupère la liste des index pour une propriété de valeurs multiples changée
- SDO_DAS_Setting::getPropertyIndex — Récupère l'index de propriété pour la propriété changée
- SDO_DAS_Setting::getPropertyName — Récupère le nom de la propriété pour la propriété changée
- SDO_DAS_Setting::getValue — Récupère l'ancienne valeur pour la propriété changée
- SDO_DAS_Setting::isSet — Vérifie pour voir si la propriété était fixée avant d'être modifiée
- SDO_DataFactory::create — Crée un SDO_DataObject
- SDO_DataObject::clear — Détruit les propriétés d'un SDO_DataObject
- SDO_DataObject::createDataObject — Crée un enfant SDO_DataObject
- SDO_DataObject::getContainer — Récupère un conteneur de l'objet de données
- SDO_DataObject::getSequence — Récupère la séquence pour un objet de données
- SDO_DataObject::getTypeName — Retourne le nom du type d'un objet de données
- SDO_DataObject::getTypeNamespaceURI — Retourne l'espace de nom URI du type d'un objet de données
- SDO_Exception::getCause — Récupère la cause d'une exception
- SDO_List::insert — Insère dans une liste
- SDO_Model_Property::getContainingType — Récupère le SDO_Model_Type qui contient cette propriété
- SDO_Model_Property::getDefault — Récupère la valeur par défaut pour la propriété
- SDO_Model_Property::getName — Récupère le nom de SDO_Model_Property
- SDO_Model_Property::getType — Récupère le SDO_Model_Type de la propriété
- SDO_Model_Property::isContainment — Vérifie pour voir si la propriété définit une relation contenue
- SDO_Model_Property::isMany — Vérifie pour voir si la propriété est de valeurs multiples
- SDO_Model_ReflectionDataObject::__construct — Construit un SDO_Model_ReflectionDataObject
- SDO_Model_ReflectionDataObject::export — Récupère une chaîne de caractères décrivant le SDO_DataObject
- SDO_Model_ReflectionDataObject::getContainmentProperty — Récupère la propriété qui définit la relation contenue de l'objet de données
- SDO_Model_ReflectionDataObject::getInstanceProperties — Récupère les propriétés de l'instance de SDO_DataObject
- SDO_Model_ReflectionDataObject::getType — Récupère le SDO_Model_Type pour SDO_DataObject
- SDO_Model_Type::getBaseType — Récupère le type de base pour le type
- SDO_Model_Type::getName — Récupère le nom du type
- SDO_Model_Type::getNamespaceURI — Récupère l'espace de nom URI pour le type
- SDO_Model_Type::getProperties — Récupère les objets SDO_Model_Property définis pour le type
- SDO_Model_Type::getProperty — Récupère un SDO_Model_Property du type
- SDO_Model_Type::isAbstractType — Vérifie pour voir si ce SDO_Model_Type est un objet de type abstrait
- SDO_Model_Type::isDataType — Vérifie pour voir si le SDO_Model_Type est un type de données primitive
- SDO_Model_Type::isInstance — Vérifie si un SDO_DataObject est une instance de ce SDO_Model_Type
- SDO_Model_Type::isOpenType — Vérifie pour voir si le type est un type ouvert
- SDO_Model_Type::isSequencedType — Vérifie pour voir si le type est une séquence
- SDO_Sequence::getProperty — Retourne la propriété pour l'index de séquence spécifié
- SDO_Sequence::insert — Ajoute dans une séquence
- SDO_Sequence::move — Déplace un item à une autre position de la séquence
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-ref.sdo.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.