mirror of
https://github.com/php/doc-es.git
synced 2026-03-25 07:52:21 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@335810 c90b9560-bf6c-de11-be94-00142212c4b1
156 lines
5.6 KiB
XML
156 lines
5.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 84b8fca68fc762fefe85acde180a38b2e77a28b9 Maintainer: regiemix Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
|
|
<phpdoc:classref xmlns:phpdoc="http://php.net/ns/phpdoc" xml:id="class.variant" xmlns="http://docbook.org/ns/docbook">
|
|
<titleabbrev>VARIANT</titleabbrev>
|
|
<title>La clase VARIANT</title>
|
|
<partintro>
|
|
|
|
<section xml:id="class.variant.class">
|
|
<title>Descripción</title>
|
|
<simpara>
|
|
La clase VARIANT es un equivalente de COM para el PHP zval; es una estructura que
|
|
puede contener un valor con un rango de diferentes tipos posibles. La clase VARIANT
|
|
suministrada por la extensión COM, permite tener un mayor control sobre
|
|
el modo en que PHP pasa los valores hacia y desde COM.
|
|
</simpara>
|
|
<simpara>
|
|
<literal>$vVar = new VARIANT($var)</literal>
|
|
</simpara>
|
|
</section>
|
|
<section xml:id="variant.variant">
|
|
<title>Métodos</title>
|
|
<methodsynopsis>
|
|
<methodname>VARIANT::VARIANT</methodname>
|
|
<methodparam choice="opt"><type>mixed</type><parameter>value</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>type</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
constructor de clase VARIANT. Parámetros:
|
|
<variablelist>
|
|
<varlistentry><term>value</term>
|
|
<listitem>
|
|
<simpara>
|
|
valor inicial. si se omite, o se le da valor &null; se creará un objeto vacío VT_EMPTY.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term>type</term>
|
|
<listitem>
|
|
<simpara>
|
|
especifica el tipo de objeto VARIANT contenido. Los valores posibles son
|
|
una de las constantes <constant>VT_XXX</constant> <xref
|
|
linkend="com.constants"/>.
|
|
</simpara>
|
|
<simpara>
|
|
En versiones PHP anteriores a PHP 5, se puede forzar a PHP para que pase un objeto
|
|
VARIANT por referencia, combinando <constant>VT_BYREF</constant> con el operador OR y
|
|
el parámetro <parameter>type</parameter>. 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.
|
|
</simpara>
|
|
<simpara>
|
|
Consultar la biblioteca <acronym>MSDN</acronym> para información adicional
|
|
sobre el tipo VARIANT.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry><term>codepage</term>
|
|
<listitem>
|
|
<simpara>
|
|
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
|
|
<xref linkend="class.com"/> para más información.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
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:
|
|
</para>
|
|
<para>
|
|
<example xml:id="com.variant.example.php4">
|
|
<title>Ejemplo de una clase VARIANT, utilizada en PHP 4.x</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$v = new VARIANT(42);
|
|
print "El tipo es " . $v->type . "<br/>";
|
|
print "El valor es " . $v->value . "<br/>";
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<example xml:id="com.variant.example.php5">
|
|
<title>Ejemplo de una clase VARIANT, utilizada en PHP 5</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$v = new VARIANT(42);
|
|
print "El tipo es " . variant_get_type($v) . "<br/>";
|
|
print "El valor es " . $v . "<br/>";
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
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 <function>print</function>. Es posible utilizar el amplio rango de funciones
|
|
VARIANT para realizar operaciones aritméticas en VARIANTS sin forzar una
|
|
conversión o arriesgarse a una pérdida de información.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Ver también la función <function>variant_get_type</function>.
|
|
</para>
|
|
</section>
|
|
|
|
</partintro>
|
|
</phpdoc:classref>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|