Métodos
VARIANT::VARIANT
( $value= ?
, int $type= ?
, int $codepage= ?
)
constructor de clase VARIANT. Parámetros:value
valor inicial. si se omite, o se le da valor null se creará un objeto vacío VT_EMPTY.
type
especifica el tipo de objeto VARIANT contenido. Los valores posibles son
una de las constantes VT_XXX Constantes predefinidas.
En versiones PHP anteriores a PHP 5, se puede forzar a PHP para que pase un objeto
VARIANT por referencia, combinando VT_BYREF con el operador OR y
el parámetro type. En PHP 5, este hack no está
soportado; en lugar de eso, PHP 5 puede detectar los parámetros pasados por referencia
automáticamente; ni siquiera es necesario pasarlos como objetos VARIANT.
Consultar la biblioteca MSDN para información adicional
sobre el tipo VARIANT.
codepage
especifica la página de códigos que se utilizará para convertir los strings a
unicode. Ver el parámetro del mismo nombre en la clase
COM para más información.
Las versiones PHP anteriores a PHP 5 definen un número de propiedades virtuales (no documentadas)
para las instancias de la clase VARIANT; estas propiedades han sido eliminadas en
PHP 5 en favor de una sintaxis más natural; estas diferencias se ilustran
mejor con el siguiente ejemplo:
Ejemplo #1 Ejemplo de una clase VARIANT, utilizada en PHP 4.x
$v= newVARIANT(42);
print"El tipo es ".$v->type."
";
print"El valor es ".$v->value."
";?>
Ejemplo #2 Ejemplo de una clase VARIANT, utilizada en PHP 5
$v= newVARIANT(42);
print"El tipo es ".variant_get_type($v) ."
";
print"El valor es ".$v."
";?>
La razón para este cambio es que, internamente, la extensión COM ve a las clases
VARIANT, COM y DOTNET como la misma cosa, y la filosofía de diseño
para estas clases es que todos los accesos a las propiedades y los miembros se
transmiten a través de COM sin ninguna interferencia. La nueva sintaxis es más
natural y requiere menos esfuerzo, y muchas de las propiedades virtuales eliminadas ya
no tienen sentido en un contexto PHP.
Nota:
PHP 5 toma una aproximación mucho más simple en la gestión de VARIANTs; cuando se devuelve
un valor o se carga una propiedad VARIANT, ésta se convierte en un valor
PHP únicamente cuando hay un mapeo directo entre los tipos de tal forma
que no se pierda información. En todos los otros casos, el resultado es
devuelto como una instancia de la clase VARIANT. Se puede forzar a PHP para
convertir o evaluar la clase VARIANT como un tipo nativo PHP utilizando un operador
para clasificarla explícitamente, o implícitamente como un string
con la función
Ver también la función