Réflexion sur des Objets de Service de Données

Les SDOs ont une connaissance de la structure qu'ils ont créée pour la représentation (le modèle). Par exemple, une Compagnie SDO créée utilisant le schéma de Compagnie XML ci-dessus devrait seulement être permis de contenir des objets de données DepartementType qui à leur tour devrait contenir seulement des objets de données EmployeType.

Parfois, il est utile d'être capable d'accéder ces informations de modèle à l'exécution. Par exemple, cela pourrait être utilisé pour générer automatiquement une interface d'usager pour remplir un objet de données. Les informations de modèle sont accédées en utilisant la réflexion.

Exemple #1 Réflexion sur les Objets de Données

<?php
  // Crée l'objet de données employe (par exemple, à partir de Service d'Accès
  // de données XML)
  $employee = ...;
  $reflection = new SDO_Model_ReflectionDataObject($employee);
  print($reflection);
?>
<?php
	// Crée l'objet de données employe (par exemple, à partir de Service d'Accès
	// de données XML)
	$employee = ...;
	$reflection = new SDO_Model_ReflectionDataObject($employee);
	$type = $reflection->getType();
	if (! $type->isDataType()) {
		foreach ($type->getProperties() as $property) {
			print $property->getName() . "\n";
		}
	}
?>

L'exemple ci-dessus va afficher :

name
SN
manager

LoadingChargement en cours