(No version information available, might be only in CVS)
VARIANT — classe VARIANT
$vVar = new VARIANT($var)
Le VARIANT est un équivalent de COM pour PHP zval ; c'est une structure qui peut contenir une valeur avec un intervalle de types possibles. La classe VARIANT fournie par l'extension COM vous permet d'avoir plus de contrôle sur ce que PHP envoie et reçoit de COM.
Constructeur VARIANT. Paramètres:
Les versions antérieures à PHP 5 définissent un nombre de propriétés virtuelles (non-documenté) pour les instances de classe VARIANT ; ces propriétés ont toutes été supprimées de PHP 5 en faveur d'une syntaxe plus naturelle ; ces différences sont bien illustrées par cet exemple :
Exemple #1 Exemple d'une classe VARIANT, comme utilisé en PHP 4.x
<?php
$v = new VARIANT(42);
echo 'The type is ' . $v->type . '<br />';
echo 'The value is ' . $v->value . '<br />';
?>
Exemple #2 Exemple d'une classe VARIANT, comme utilisé en PHP 5
<?php
$v = new VARIANT(42);
echo 'The type is ' . variant_get_type($v) . '<br />';
echo 'The value is ' . $v . '<br />';
?>
Les raisons de ces changements sont que, en interne, l'extension COM voit les classes VARIANT, CM et DOTNET comme étant la même chose, et l'esprit pour ces classes est que tous les accès aux propriétés et aux méthodes sont transmis à COM sans interférence. La nouvelle syntaxe est plus naturelle et demande moins d'efforts et la plupart des propriétés virtuelles supprimées n'ont plus aucun sens dans ce contexte.
Note: PHP 5 prend une approche plus simple pour gérer les classes VARIANT ; lorsqu'il retourne une valeur d'une propriété VARIANT, elle est convertie en une valeur PHP seulement s'il y a un mappage direct entre les types sans perdre aucune information. Dans tous les autres cas, le résultat est retourné comme une instance de la classe VARIANT. Vous pouvez forcer PHP à convertir ou à évaluer la classe VARIANT comme un type natif de PHP en utilisant explicitement un opérateur de transtypage, ou implicitement transtyper en une chaîne pour l'afficher. Vous pouvez utiliser l'éventail de fonctions pour réaliser des opérations arithmétiques sur les classes VARIANT sans forcer des conversions ou bien risquer de perdre des données.
Voir aussi variant_get_type().