(no version information, might be only in CVS)
VARIANT -- classe VARIANT
Methodes
object
VARIANT::VARIANT ( [mixed value [, int type [, int codepage]]] )
Constructeur VARIANT. Paramètres:
- value
valeur initiale. Si omis, un objet VT_EMPTY sera créé.
- type
spécifie le type d'objet VARIANT contenu. Les valeurs possibles sont une des
constantes VT_XXX la section intitulée Constantes pré-définies dans Référence XV, COM et .Net (Windows).
Dans les versions antérieures à PHP 5, vous pouvez forcer PHP Ã
passer un objet VARIANT par référence par OR'ing VT_BYREF
avec le paramètre type. En PHP 5,
ce hack n'est pas supporté ; en lieu et place, PHP 5 peut détecter
les paramètres passés par référence automatiquement ; ils n'ont pas
à être passés comme des objets VARIANT.
Consultez la bibliothèque MSDN pour plus de détails.
- codepage
spécifie le code qui est utilisé pour transformer les chaînes de
caractères PHP en chaînes unicode, et vice-versa. Voir le paramètre du même nom
dans la COM classe pour plus d'informations.
Les versions antérieures à PHP 5 définissent un nombre de propriétés vituelles (non-documenté)
pour les instances de classe VARIANT ; ces propriétés ont été toutes supprimées de PHP 5
en faveur d'une syntaxe plus naturelle ; ces différences sont plus visibles par un 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'effort et la plus part 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 converti en une valeur
PHP seulement qu'il y a un mappage direct entre les types sans perdre aucune information.
Das 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'éventails 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().