WS, prepare for new doc style

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@249413 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Mehdi Achour 2007-12-30 10:06:13 +00:00
parent 8275f82641
commit 18e5fb4e47
42 changed files with 1899 additions and 1993 deletions

View file

@ -1,262 +1,264 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.12 $ -->
<!-- $Revision: 1.13 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.12 -->
<refentry xml:id="class.com" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>COM</refname>
<refpurpose>COM class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<refentry xml:id="class.com" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>COM</refname>
<refpurpose>COM class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>$obj = new <classname>COM</classname>("Application.ID")</synopsis>
</refsynopsisdiv>
<refsect1 xml:id="class.com.class">
<title>Description</title>
<simpara>
The COM class allows you to instantiate an OLE compatible COM object and
call its methods and access its properties.
</simpara>
</refsect1>
<refsect1 xml:id="class.com.constructor">
<title>Methods</title>
<methodsynopsis>
<type>com</type><methodname>COM::COM</methodname>
<methodparam><type>string</type><parameter>module_name</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>server_name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>typelib</parameter></methodparam>
</methodsynopsis>
<para>
COM class constructor. The parameters have the following meanings:
<variablelist>
<varlistentry><term>module_name</term>
<listitem>
<simpara>
Can be a ProgID, Class ID or Moniker that names the component to load.
</simpara>
<simpara>
A ProgID is typically the application or DLL name, followed by a period,
followed by the object name. e.g: <literal>Word.Application</literal>.
</simpara>
<simpara>
A Class ID is the UUID that uniquely identifies a given class.
</simpara>
<simpara>
A Moniker is a special form of naming, similar in concept to a URL
scheme, that identifies a resource and specifies how it should be
loaded. As an example, you could load up Word and get an object
representing a word document by specifying the full path to the word
document as the module name, or you can use <literal>LDAP:</literal> as
a moniker to use the ADSI interface to LDAP.
</simpara>
</listitem>
</refsynopsisdiv>
<refsect1 xml:id="class.com.class">
<title>Description</title>
<simpara>
The COM class allows you to instantiate an OLE compatible COM object and
call its methods and access its properties.
</simpara>
</refsect1>
<refsect1 xml:id="class.com.constructor">
<title>Methods</title>
<methodsynopsis>
<type>com</type><methodname>COM::COM</methodname>
<methodparam><type>string</type><parameter>module_name</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>server_name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>typelib</parameter></methodparam>
</methodsynopsis>
<para>
COM class constructor. The parameters have the following meanings:
<variablelist>
<varlistentry>
<term>module_name</term>
<listitem>
<simpara>
Can be a ProgID, Class ID or Moniker that names the component to load.
</simpara>
<simpara>
A ProgID is typically the application or DLL name, followed by a period,
followed by the object name. e.g: <literal>Word.Application</literal>.
</simpara>
<simpara>
A Class ID is the UUID that uniquely identifies a given class.
</simpara>
<simpara>
A Moniker is a special form of naming, similar in concept to a URL
scheme, that identifies a resource and specifies how it should be
loaded. As an example, you could load up Word and get an object
representing a word document by specifying the full path to the word
document as the module name, or you can use <literal>LDAP:</literal> as
a moniker to use the ADSI interface to LDAP.
</simpara>
</listitem>
</varlistentry>
<varlistentry><term>server_name</term>
<listitem>
<simpara>
The name of the DCOM server on which the component should be loaded and
run. If &null;, the object is run using the default for the
application. The default is typically to run it on the local machine,
although the administrator might have configured the application to
launch on a different machine.
</simpara>
<simpara>
If you specify a non-&null; value for server, PHP will refuse to load
the object unless the <xref
linkend="ini.com.allow-dcom"/> configuration option
is set to &true;.
</simpara>
<para>
If <parameter>server_name</parameter> is an array, it should contain the
following elements (case sensitive!). Note that they are all optional
(although you need to specify both Username and Password together); if
you omit the Server setting, the default server will be used (as
mentioned above), and the instantiation of the object will not be
affected by the <xref linkend="ini.com.allow-dcom"/>
directive.
<table>
<title>DCOM server name</title>
<tgroup cols="3">
<thead>
<row>
<entry><parameter>server_name</parameter> key</entry>
<entry>type</entry>
<entry>description</entry>
</row>
</thead>
<tbody>
<row>
<entry>Server</entry>
<entry>string</entry>
<entry>The name of the server.</entry>
</row>
<row>
<entry>Username</entry>
<entry>string</entry>
<entry>The username to connect as.</entry>
</row>
<row>
<entry>Password</entry>
<entry>string</entry>
<entry>The password for <parameter>Username</parameter>.</entry>
</row>
<row>
<entry>Flags</entry>
<entry>integer</entry>
<entry>One or more of the following constants, logically OR'd together:
<constant>CLSCTX_INPROC_SERVER</constant>,
<constant>CLSCTX_INPROC_HANDLER</constant>,
<constant>CLSCTX_LOCAL_SERVER</constant>,
<constant>CLSCTX_REMOTE_SERVER</constant>,
<constant>CLSCTX_SERVER</constant> and
<constant>CLSCTX_ALL</constant>. The default value if not
specified here is <constant>CLSCTX_SERVER</constant> if you also
omit <parameter>Server</parameter>, or
<constant>CLSCTX_REMOTE_SERVER</constant> if you do specify a
server. You should consult the Microsoft documentation for
CoCreateInstance for more information on the meaning of these
constants; you will typically never have to use them.
</entry>
</row>
</tbody>
<varlistentry>
<term>server_name</term>
<listitem>
<simpara>
The name of the DCOM server on which the component should be loaded and
run. If &null;, the object is run using the default for the
application. The default is typically to run it on the local machine,
although the administrator might have configured the application to
launch on a different machine.
</simpara>
<simpara>
If you specify a non-&null; value for server, PHP will refuse to load
the object unless the <xref
linkend="ini.com.allow-dcom"/> configuration option
is set to &true;.
</simpara>
<para>
If <parameter>server_name</parameter> is an array, it should contain the
following elements (case sensitive!). Note that they are all optional
(although you need to specify both Username and Password together); if
you omit the Server setting, the default server will be used (as
mentioned above), and the instantiation of the object will not be
affected by the <xref linkend="ini.com.allow-dcom"/>
directive.
<table>
<title>DCOM server name</title>
<tgroup cols="3">
<thead>
<row>
<entry><parameter>server_name</parameter> key</entry>
<entry>type</entry>
<entry>description</entry>
</row>
</thead>
<tbody>
<row>
<entry>Server</entry>
<entry>string</entry>
<entry>The name of the server.</entry>
</row>
<row>
<entry>Username</entry>
<entry>string</entry>
<entry>The username to connect as.</entry>
</row>
<row>
<entry>Password</entry>
<entry>string</entry>
<entry>The password for <parameter>Username</parameter>.</entry>
</row>
<row>
<entry>Flags</entry>
<entry>integer</entry>
<entry>One or more of the following constants, logically OR'd together:
<constant>CLSCTX_INPROC_SERVER</constant>,
<constant>CLSCTX_INPROC_HANDLER</constant>,
<constant>CLSCTX_LOCAL_SERVER</constant>,
<constant>CLSCTX_REMOTE_SERVER</constant>,
<constant>CLSCTX_SERVER</constant> and
<constant>CLSCTX_ALL</constant>. The default value if not
specified here is <constant>CLSCTX_SERVER</constant> if you also
omit <parameter>Server</parameter>, or
<constant>CLSCTX_REMOTE_SERVER</constant> if you do specify a
server. You should consult the Microsoft documentation for
CoCreateInstance for more information on the meaning of these
constants; you will typically never have to use them.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</para>
</listitem>
</varlistentry>
<varlistentry><term>codepage</term>
<listitem>
<simpara>
Specifies the codepage that is used to convert strings to
unicode-strings and vice versa. The conversion is applied whenever a
PHP string is passed as a parameter or returned from a method of this
COM object. The code page is sticky in PHP 5, which means that it will
propagate to objects and variants returned from the object.
</simpara>
<simpara>
Possible values are
<constant>CP_ACP</constant> (use system default ANSI code page - the
default if this parameter is omitted),
<constant>CP_MACCP</constant>,
<constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>,
<constant>CP_THREAD_ACP</constant> (use codepage/locale set for the
current executing thread), <constant>CP_UTF7</constant>
and <constant>CP_UTF8</constant>. You may also use the number for a
given codepage; consult the Microsoft documentation for more details on
codepages and their numeric values.
</simpara>
</listitem>
<varlistentry>
<term>codepage</term>
<listitem>
<simpara>
Specifies the codepage that is used to convert strings to
unicode-strings and vice versa. The conversion is applied whenever a
PHP string is passed as a parameter or returned from a method of this
COM object. The code page is sticky in PHP 5, which means that it will
propagate to objects and variants returned from the object.
</simpara>
<simpara>
Possible values are
<constant>CP_ACP</constant> (use system default ANSI code page - the
default if this parameter is omitted),
<constant>CP_MACCP</constant>,
<constant>CP_OEMCP</constant>, <constant>CP_SYMBOL</constant>,
<constant>CP_THREAD_ACP</constant> (use codepage/locale set for the
current executing thread), <constant>CP_UTF7</constant>
and <constant>CP_UTF8</constant>. You may also use the number for a
given codepage; consult the Microsoft documentation for more details on
codepages and their numeric values.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
</variablelist>
</para>
</refsect1>
<refsect1 xml:id="class.com.overloadedmethods">
<title>Overloaded Methods</title>
<refsect1 xml:id="class.com.overloadedmethods">
<title>Overloaded Methods</title>
<para>
The returned object is an overloaded object, which means that PHP does
not see any fixed methods as it does with regular classes; instead, any
property or method accesses are passed through to COM.
</para>
<para>
Starting with PHP 5, PHP will automatically detect methods that accept
parameters by reference, and will automatically convert regular PHP
variables to a form that can be passed by reference. This means that you
can call the method very naturally; you needn't go to any extra effort in
your code.
</para>
<para>
In PHP 4, to pass parameters by reference you need to create an instance
of the <xref linkend="class.variant"/> class to wrap the
byref parameters.
</para>
</refsect1>
<para>
The returned object is an overloaded object, which means that PHP does
not see any fixed methods as it does with regular classes; instead, any
property or method accesses are passed through to COM.
</para>
<para>
Starting with PHP 5, PHP will automatically detect methods that accept
parameters by reference, and will automatically convert regular PHP
variables to a form that can be passed by reference. This means that you
can call the method very naturally; you needn't go to any extra effort in
your code.
</para>
<para>
In PHP 4, to pass parameters by reference you need to create an instance
of the <xref linkend="class.variant"/> class to wrap the
byref parameters.
</para>
</refsect1>
<refsect1 xml:id="class.com.falsemethods">
<title>Pseudo Methods</title>
<para>
In PHP versions prior to 5, a number of not very pleasant hacks meant that
the following method names were not passed through to COM and were handled
directly by PHP. PHP 5 eliminates these things; read the details below to
determine how to fix your scripts. These magic method names are case
insensitive.
</para>
<methodsynopsis>
<type>void</type><methodname>COM::AddRef</methodname>
<void/>
</methodsynopsis>
<simpara>Artificially adds a reference count to the COM object.</simpara>
<warning><simpara>You should never need to use this method. It exists as a
logical complement to the Release() method below.</simpara></warning>
<methodsynopsis>
<type>void</type><methodname>COM::Release</methodname>
<void/>
</methodsynopsis>
<simpara>Artificially removes a reference count from the COM object.</simpara>
<warning><simpara>
You should never need to use this method. Its existence in PHP is a bug
designed to work around a bug that keeps COM objects running longer than
they should.
</simpara></warning>
</refsect1>
<refsect1 xml:id="class.com.iteratormethods">
<title>Pseudo Methods for Iterating</title>
<para>
These pseudo methods are only available if
<function>com_isenum</function> returns &true;, in which case, they hide
any methods with the same names that might otherwise be provided by the
COM object. These methods have all been eliminated in PHP 5, and you
should use <xref linkend="com.examples.foreach"/> instead.
</para>
<methodsynopsis>
<type>variant</type><methodname>COM::All</methodname>
<void/>
</methodsynopsis>
<simpara>Returns a variant representing a SafeArray that has 10 elements;
each element will be an empty/null variant. This function was supposed to
return an array containing all the elements from the iterator, but was
never completed. Do not use.
</simpara>
<methodsynopsis>
<type>variant</type><methodname>COM::Next</methodname>
<void/>
</methodsynopsis>
<simpara>Returns a variant representing the next element available from
the iterator, or &false; when there are no more elements.
</simpara>
<methodsynopsis>
<type>variant</type><methodname>COM::Prev</methodname>
<void/>
</methodsynopsis>
<simpara>Returns a variant representing the previous element available from
the iterator, or &false; when there are no more elements.
</simpara>
<methodsynopsis>
<type>void</type><methodname>COM::Reset</methodname>
<void/>
</methodsynopsis>
<simpara>Rewinds the iterator back to the start.</simpara>
</refsect1>
<refsect1 xml:id="class.com.examples">
<title>COM examples</title>
<para>
<example xml:id="example.com1">
<title>COM example (1)</title>
<programlisting role="php">
<refsect1 xml:id="class.com.falsemethods">
<title>Pseudo Methods</title>
<para>
In PHP versions prior to 5, a number of not very pleasant hacks meant that
the following method names were not passed through to COM and were handled
directly by PHP. PHP 5 eliminates these things; read the details below to
determine how to fix your scripts. These magic method names are case
insensitive.
</para>
<methodsynopsis>
<type>void</type><methodname>COM::AddRef</methodname>
<void/>
</methodsynopsis>
<simpara>
Artificially adds a reference count to the COM object.
</simpara>
<warning>
<simpara>
You should never need to use this method. It exists as a logical complement
to the Release() method below.
</simpara>
</warning>
<methodsynopsis>
<type>void</type><methodname>COM::Release</methodname>
<void/>
</methodsynopsis>
<simpara>
Artificially removes a reference count from the COM object.
</simpara>
<warning>
<simpara>
You should never need to use this method. Its existence in PHP is a bug
designed to work around a bug that keeps COM objects running longer than
they should.
</simpara>
</warning>
</refsect1>
<refsect1 xml:id="class.com.iteratormethods">
<title>Pseudo Methods for Iterating</title>
<para>
These pseudo methods are only available if
<function>com_isenum</function> returns &true;, in which case, they hide
any methods with the same names that might otherwise be provided by the
COM object. These methods have all been eliminated in PHP 5, and you
should use <xref linkend="com.examples.foreach"/> instead.
</para>
<methodsynopsis>
<type>variant</type><methodname>COM::All</methodname>
<void/>
</methodsynopsis>
<simpara>
Returns a variant representing a SafeArray that has 10 elements;
each element will be an empty/null variant. This function was supposed to
return an array containing all the elements from the iterator, but was
never completed. Do not use.
</simpara>
<methodsynopsis>
<type>variant</type><methodname>COM::Next</methodname>
<void/>
</methodsynopsis>
<simpara>
Returns a variant representing the next element available from
the iterator, or &false; when there are no more elements.
</simpara>
<methodsynopsis>
<type>variant</type><methodname>COM::Prev</methodname>
<void/>
</methodsynopsis>
<simpara>Returns a variant representing the previous element available from
the iterator, or &false; when there are no more elements.
</simpara>
<methodsynopsis>
<type>void</type><methodname>COM::Reset</methodname>
<void/>
</methodsynopsis>
<simpara>
Rewinds the iterator back to the start.
</simpara>
</refsect1>
<refsect1 xml:id="class.com.examples">
<title>COM examples</title>
<para>
<example xml:id="example.com1">
<title>COM example (1)</title>
<programlisting role="php">
<![CDATA[
<?php
// starting word
@ -280,13 +282,13 @@ $word->Quit();
$word = null;
?>
]]>
</programlisting>
</example>
</para>
<para>
<example xml:id="example.com2">
<title>COM example (2)</title>
<programlisting role="php">
</programlisting>
</example>
</para>
<para>
<example xml:id="example.com2">
<title>COM example (2)</title>
<programlisting role="php">
<![CDATA[
<?php
@ -321,11 +323,11 @@ $conn = null;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,74 +1,70 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<refentry xml:id="class.dotnet" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>DOTNET</refname>
<refpurpose>DOTNET class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<!-- $Revision: 1.4 $ -->
<refentry xml:id="class.dotnet" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>DOTNET</refname>
<refpurpose>DOTNET class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>$obj = new <classname>DOTNET</classname>("assembly", "classname")</synopsis>
</refsynopsisdiv>
<refsect1 xml:id="class.dotnet.class">
<title>Description</title>
<simpara>
The DOTNET class allows you to instantiate a class from a .Net assembly and
call its methods and access its properties.
</simpara>
</refsect1>
<refsect1 xml:id="class.dotnet.constructor">
<title>Methods</title>
<methodsynopsis>
<type>string</type><methodname>DOTNET::DOTNET</methodname>
<methodparam><type>string</type><parameter>assembly_name</parameter></methodparam>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
</methodsynopsis>
<para>
DOTNET class constructor. <parameter>assembly_name</parameter> specifies
which assembly should be loaded, and <parameter>class_name</parameter>
specifices which class in that assembly to instantiate. You may
optionally specify a <parameter>codepage</parameter> to use for unicode
string transformations; see the <xref linkend="class.com"/> class
for more details on code pages.
</para>
<para>
The returned object is an overloaded object, which means that PHP does
not see any fixed methods as it does with regular classes; instead, any
property or method accesses are passed through to COM and from there to
DOTNET. In other words, the .Net object is mapped through the COM
interoperability layer provided by the .Net runtime.
</para>
<para>
Once you have created a DOTNET object, PHP treats it identically to any
other COM object; all the same rules apply.
</para>
<para>
<example xml:id="example.dotnet">
<title>DOTNET example</title>
<programlisting role="php">
</refsynopsisdiv>
<refsect1 xml:id="class.dotnet.class">
<title>Description</title>
<simpara>
The DOTNET class allows you to instantiate a class from a .Net assembly and
call its methods and access its properties.
</simpara>
</refsect1>
<refsect1 xml:id="class.dotnet.constructor">
<title>Methods</title>
<methodsynopsis>
<type>string</type><methodname>DOTNET::DOTNET</methodname>
<methodparam><type>string</type><parameter>assembly_name</parameter></methodparam>
<methodparam><type>string</type><parameter>class_name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
</methodsynopsis>
<para>
DOTNET class constructor. <parameter>assembly_name</parameter> specifies
which assembly should be loaded, and <parameter>class_name</parameter>
specifices which class in that assembly to instantiate. You may
optionally specify a <parameter>codepage</parameter> to use for unicode
string transformations; see the <xref linkend="class.com"/> class
for more details on code pages.
</para>
<para>
The returned object is an overloaded object, which means that PHP does
not see any fixed methods as it does with regular classes; instead, any
property or method accesses are passed through to COM and from there to
DOTNET. In other words, the .Net object is mapped through the COM
interoperability layer provided by the .Net runtime.
</para>
<para>
Once you have created a DOTNET object, PHP treats it identically to any
other COM object; all the same rules apply.
</para>
<para>
<example xml:id="example.dotnet">
<title>DOTNET example</title>
<programlisting role="php">
<![CDATA[
<?php
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
$stack = new DOTNET("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>
]]>
</programlisting>
</example>
</programlisting>
</example>
</para>
<note>
<para>
You need to install the .Net runtime on your web server to take advantage
of this feature.
</para>
<note>
<para>
You need to install the .Net runtime on your web server to take advantage
of this feature.
</para>
</note>
</refsect1>
</refentry>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,84 +1,81 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="class.variant" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>VARIANT</refname>
<refpurpose>VARIANT class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>$vVar = new <classname>VARIANT</classname>($var)</synopsis>
</refsynopsisdiv>
<refsect1 xml:id="class.variant.class">
<title>Description</title>
<simpara>
The VARIANT is COM's equivalent of the PHP zval; it is a structure that
can contain a value with a range of different possible types. The VARIANT
class provided by the COM extension allows you to have more control over
the way that PHP passes values to and from COM.
</simpara>
</refsect1>
<refsect1 xml:id="class.variant.constructor">
<title>Methods</title>
<methodsynopsis>
<type>object</type><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>
VARIANT class constructor. Parameters:
<variablelist>
<varlistentry><term>value</term>
<listitem>
<simpara>
initial value. if omitted, or set to &null; an VT_EMPTY object is created.
</simpara>
</listitem>
</varlistentry>
<varlistentry><term>type</term>
<listitem>
<simpara>
specifies the content type of the VARIANT object. Possible values are
one of the <constant>VT_XXX</constant> <xref
linkend="com.constants"/>.
</simpara>
<simpara>
In PHP versions prior to PHP 5, you could force PHP to pass a variant
object by reference by OR'ing <constant>VT_BYREF</constant>
with the <parameter>type</parameter>. In PHP 5, this hack is not
supported; instead, PHP 5 can detect parameters passed by reference
automatically; they do not even need to be passed as VARIANT objects.
</simpara>
<simpara>
Consult the <acronym>MSDN</acronym> library for additional information
on the VARIANT type.
</simpara>
</listitem>
</varlistentry>
<varlistentry><term>codepage</term>
<listitem>
<simpara>
specifies the codepage that is used to convert strings to
unicode. See the parameter of the same name in the
<xref linkend="class.com"/> class for more information.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
PHP versions prior to PHP 5 define a number of (undocumented) virtual properties
for instances of the VARIANT class; these properties have all been removed in
PHP 5 in favour of its more natural syntax; these differences are best
highlighted by example:
</para>
<para>
<example xml:id="com.variant.example.php4">
<title>Variant example, PHP 4.x style</title>
<programlisting role="php">
<!-- $Revision: 1.7 $ -->
<refentry xml:id="class.variant" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>VARIANT</refname>
<refpurpose>VARIANT class</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>$vVar = new <classname>VARIANT</classname>($var)</synopsis>
</refsynopsisdiv>
<refsect1 xml:id="class.variant.class">
<title>Description</title>
<simpara>
The VARIANT is COM's equivalent of the PHP zval; it is a structure that
can contain a value with a range of different possible types. The VARIANT
class provided by the COM extension allows you to have more control over
the way that PHP passes values to and from COM.
</simpara>
</refsect1>
<refsect1 xml:id="class.variant.constructor">
<title>Methods</title>
<methodsynopsis>
<type>object</type><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>
VARIANT class constructor. Parameters:
<variablelist>
<varlistentry><term>value</term>
<listitem>
<simpara>
initial value. if omitted, or set to &null; an VT_EMPTY object is created.
</simpara>
</listitem>
</varlistentry>
<varlistentry><term>type</term>
<listitem>
<simpara>
specifies the content type of the VARIANT object. Possible values are
one of the <constant>VT_XXX</constant> <xref
linkend="com.constants"/>.
</simpara>
<simpara>
In PHP versions prior to PHP 5, you could force PHP to pass a variant
object by reference by OR'ing <constant>VT_BYREF</constant>
with the <parameter>type</parameter>. In PHP 5, this hack is not
supported; instead, PHP 5 can detect parameters passed by reference
automatically; they do not even need to be passed as VARIANT objects.
</simpara>
<simpara>
Consult the <acronym>MSDN</acronym> library for additional information
on the VARIANT type.
</simpara>
</listitem>
</varlistentry>
<varlistentry><term>codepage</term>
<listitem>
<simpara>
specifies the codepage that is used to convert strings to
unicode. See the parameter of the same name in the
<xref linkend="class.com"/> class for more information.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
PHP versions prior to PHP 5 define a number of (undocumented) virtual properties
for instances of the VARIANT class; these properties have all been removed in
PHP 5 in favour of its more natural syntax; these differences are best
highlighted by example:
</para>
<para>
<example xml:id="com.variant.example.php4">
<title>Variant example, PHP 4.x style</title>
<programlisting role="php">
<![CDATA[
<?php
$v = new VARIANT(42);
@ -86,14 +83,13 @@ print "The type is " . $v->type . "<br/>";
print "The value is " . $v->value . "<br/>";
?>
]]>
</programlisting>
</example>
</para>
<para>
<example xml:id="com.variant.example.php5">
<title>Variant example, PHP 5 style</title>
<programlisting role="php">
</programlisting>
</example>
</para>
<para>
<example xml:id="com.variant.example.php5">
<title>Variant example, PHP 5 style</title>
<programlisting role="php">
<![CDATA[
<?php
$v = new VARIANT(42);
@ -101,40 +97,36 @@ print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
</para>
<para>
The reason for the change is that, internally, the COM extension sees
VARIANT, COM and DOTNET classes as the same thing, and the design
philosophy for these classes is that all property and member accesses are
passed through to COM with no interference. The new syntax is more
natural and less effort, and most of the removed virtual properties didn't
make any sense in a PHP context in any case.
</para>
<note>
<para>
The reason for the change is that, internally, the COM extension sees
VARIANT, COM and DOTNET classes as the same thing, and the design
philosophy for these classes is that all property and member accesses are
passed through to COM with no interference. The new syntax is more
natural and less effort, and most of the removed virtual properties didn't
make any sense in a PHP context in any case.
PHP 5 takes a much simpler approach to handling VARIANTs; when returning
a value or fetching a variant property, the variant is converted to a PHP
value only when there is a direct mapping between the types that would
not result in a loss of information. In all other cases, the result is
returned as an instance of the VARIANT class. You can force PHP to
convert or evaluate the variant as a PHP native type by using a casting
operator explicitly, or implicitly casting to a string by
<function>print</function>ing it. You may use the wide range of variant
functions to perform arithmetic operations on variants without forcing a
conversion or risking a loss of data.
</para>
<note>
<para>
PHP 5 takes a much simpler approach to handling VARIANTs; when returning
a value or fetching a variant property, the variant is converted to a PHP
value only when there is a direct mapping between the types that would
not result in a loss of information. In all other cases, the result is
returned as an instance of the VARIANT class. You can force PHP to
convert or evaluate the variant as a PHP native type by using a casting
operator explicitly, or implicitly casting to a string by
<function>print</function>ing it. You may use the wide range of variant
functions to perform arithmetic operations on variants without forcing a
conversion or risking a loss of data.
</para>
</note>
<para>
See also <function>variant_get_type</function>.
</para>
</refsect1>
</refentry>
</note>
<para>
See also <function>variant_get_type</function>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,31 +1,26 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-addref" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_addref</refname>
<refpurpose>
Increases the components reference counter [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_addref</methodname>
<void/>
</methodsynopsis>
<para>
Increases the components reference counter.
</para>
<warning>
<simpara>
You should never need to use this function.
</simpara>
</warning>
</refsect1>
</refentry>
<!-- $Revision: 1.6 $ -->
<refentry xml:id="function.com-addref" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_addref</refname>
<refpurpose>Increases the components reference counter [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_addref</methodname>
<void/>
</methodsynopsis>
<para>
Increases the components reference counter.
</para>
<warning>
<simpara>
You should never need to use this function.
</simpara>
</warning>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,32 +1,26 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.2 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.com-create-guid" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_create_guid</refname>
<refpurpose>
Generate a globally unique identifier (GUID)
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>string</type><methodname>com_create_guid</methodname>
<void/>
</methodsynopsis>
<para>
Generates a Globally Unique Identifier (GUID) and returns it as a string.
A GUID is generated in the same way as DCE UUID's, except that the
Microsoft convention is to enclose a GUID in curly braces.
</para>
<para>
See also <function>uuid_create</function> in the PECL uuid extension.
</para>
</refsect1>
</refentry>
<!-- $Revision: 1.3 $ -->
<refentry xml:id="function.com-create-guid" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_create_guid</refname>
<refpurpose>Generate a globally unique identifier (GUID)</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>string</type><methodname>com_create_guid</methodname>
<void/>
</methodsynopsis>
<para>
Generates a Globally Unique Identifier (GUID) and returns it as a string.
A GUID is generated in the same way as DCE UUID's, except that the
Microsoft convention is to enclose a GUID in curly braces.
</para>
<para>
See also <function>uuid_create</function> in the PECL uuid extension.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,48 +1,45 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.com-event-sink" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_event_sink</refname>
<refpurpose>
Connect events from a COM object to a PHP object
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_event_sink</methodname>
<methodparam><type>variant</type><parameter>comobject</parameter></methodparam>
<methodparam><type>object</type><parameter>sinkobject</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>sinkinterface</parameter></methodparam>
</methodsynopsis>
<!-- $Revision: 1.4 $ -->
<refentry xml:id="function.com-event-sink" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_event_sink</refname>
<refpurpose>Connect events from a COM object to a PHP object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_event_sink</methodname>
<methodparam><type>variant</type><parameter>comobject</parameter></methodparam>
<methodparam><type>object</type><parameter>sinkobject</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>sinkinterface</parameter></methodparam>
</methodsynopsis>
<para>
Instructs COM to sink events generated by
<parameter>comobject</parameter> into the PHP object
<parameter>sinkobject</parameter>. PHP will attempt to use the default
dispinterface type specified by the typelibrary associated with
<parameter>comobject</parameter>, but you may override this choice by
setting <parameter>sinkinterface</parameter> to the name of the
dispinterface that you want to use.
</para>
<para>
Instructs COM to sink events generated by
<parameter>comobject</parameter> into the PHP object
<parameter>sinkobject</parameter>. PHP will attempt to use the default
dispinterface type specified by the typelibrary associated with
<parameter>comobject</parameter>, but you may override this choice by
setting <parameter>sinkinterface</parameter> to the name of the
dispinterface that you want to use.
</para>
<para>
<parameter>sinkobject</parameter> should be an instance of a class with
methods named after those of the desired dispinterface; you may use
<function>com_print_typeinfo</function> to help generate a template class
for this purpose.
</para>
<para>
<parameter>sinkobject</parameter> should be an instance of a class with
methods named after those of the desired dispinterface; you may use
<function>com_print_typeinfo</function> to help generate a template class
for this purpose.
</para>
<para>
Be careful how you use this feature; if you are doing something similar
to the example below, then it doesn't really make sense to run it in a
web server context.
</para>
<para>
Be careful how you use this feature; if you are doing something similar
to the example below, then it doesn't really make sense to run it in a
web server context.
</para>
<example>
<title>COM event sink example</title>
<programlisting role="php">
<example>
<title>COM event sink example</title>
<programlisting role="php">
<![CDATA[
<?php
class IEEventSinker {
@ -73,17 +70,17 @@ while(!$sink->terminated) {
$ie = null;
?>
]]>
</programlisting>
</example>
</programlisting>
</example>
<para>
See also <function>com_print_typeinfo</function>,
<function>com_message_pump</function>.
</para>
<para>
See also <function>com_print_typeinfo</function>,
<function>com_message_pump</function>.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,61 +1,59 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.4 $ -->
<refentry xml:id="function.com-get-active-object" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>com_get_active_object</refname>
<refpurpose>
Returns a handle to an already running instance of a COM object
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>com_get_active_object</methodname>
<methodparam><type>string</type><parameter>progid</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>code_page</parameter></methodparam>
</methodsynopsis>
<!-- $Revision: 1.5 $ -->
<refentry xml:id="function.com-get-active-object" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>com_get_active_object</refname>
<refpurpose>Returns a handle to an already running instance of a COM object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>com_get_active_object</methodname>
<methodparam><type>string</type><parameter>progid</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>code_page</parameter></methodparam>
</methodsynopsis>
<para>
<function>com_get_active_object</function> is similar to creating a new
instance of a <xref linkend="class.com"/> object, except that it will
only return an object to your script if the object is already running.
OLE applications use something known as the Running Object Table to
allow well-known applications to be launched only once; this function
exposes the COM library function GetActiveObject() to get a handle on a
running instance.
</para>
<para>
<parameter>progid</parameter> must be either the ProgID or CLSID for the
object that you want to access (for example
<literal>Word.Application</literal>). <parameter>code_page</parameter>
acts in precisely the same way that it does for the <xref
linkend="class.com"/> class.
</para>
<para>
If the requested object is running, it will be returned to your script
just like any other COM object. Otherwise a <literal>com_exception</literal>
will be raised. There are a variety of reasons why
this function might fail, the most common being that the object is not
already running. In that situation, the exception error code will be
<constant>MK_E_UNAVAILABLE</constant>; you can use the
<literal>getCode</literal> method of the exception object to check the
exception code.
</para>
<para>
<function>com_get_active_object</function> is similar to creating a new
instance of a <xref linkend="class.com"/> object, except that it will
only return an object to your script if the object is already running.
OLE applications use something known as the Running Object Table to
allow well-known applications to be launched only once; this function
exposes the COM library function GetActiveObject() to get a handle on a
running instance.
</para>
<para>
<parameter>progid</parameter> must be either the ProgID or CLSID for the
object that you want to access (for example
<literal>Word.Application</literal>). <parameter>code_page</parameter>
acts in precisely the same way that it does for the <xref
linkend="class.com"/> class.
</para>
<para>
If the requested object is running, it will be returned to your script
just like any other COM object. Otherwise a <literal>com_exception</literal>
will be raised. There are a variety of reasons why
this function might fail, the most common being that the object is not
already running. In that situation, the exception error code will be
<constant>MK_E_UNAVAILABLE</constant>; you can use the
<literal>getCode</literal> method of the exception object to check the
exception code.
</para>
<warning>
<para>
Using <function>com_get_active_object</function> in a web server context
is not always a smart idea. Most COM/OLE applications are not designed
to handle more than one client concurrently, even (or especially!)
Microsoft Office. You should read <link
xlink:href="&url.msoffice.serverside;">Considerations for Server-Side
Automation of Office</link> for more information on the general issues
involved.
</para>
</warning>
<warning>
<para>
Using <function>com_get_active_object</function> in a web server context
is not always a smart idea. Most COM/OLE applications are not designed
to handle more than one client concurrently, even (or especially!)
Microsoft Office. You should read <link
xlink:href="&url.msoffice.serverside;">Considerations for Server-Side
Automation of Office</link> for more information on the general issues
involved.
</para>
</warning>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,45 +1,43 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-get" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_get</refname>
<refpurpose>
Gets the value of a COM Component's property [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>com_get</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>property</parameter></methodparam>
</methodsynopsis>
<para>
Returns the value of the <parameter>property</parameter> of the
COM component referenced by <parameter>com_object</parameter>.
Returns &false; on error.
</para>
<para>
<example>
<title>Don't use com_get(), use OO syntax instead</title>
<programlisting role="php">
<refentry xml:id="function.com-get" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_get</refname>
<refpurpose>Gets the value of a COM Component's property [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>com_get</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>property</parameter></methodparam>
</methodsynopsis>
<para>
Returns the value of the <parameter>property</parameter> of the
COM component referenced by <parameter>com_object</parameter>.
Returns &false; on error.
</para>
<para>
<example>
<title>Don't use com_get(), use OO syntax instead</title>
<programlisting role="php">
<![CDATA[
<?php
<?php
// do this
$var = $obj->property;
// instead of this:
$var = com_get($obj, 'property');
?>
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
</para>
&com.use-oo-instead;
&com.use-oo-instead;
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,50 +1,48 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- $Revision: 1.7 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-invoke" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_invoke</refname>
<refpurpose>
Calls a COM component's method [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>com_invoke</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>function_parameters</parameter></methodparam>
</methodsynopsis>
<para>
<function>com_invoke</function> invokes the method
named <parameter>function_name</parameter> of the COM
component referenced by <parameter>com_object</parameter>.
<function>com_invoke</function> returns &false; on error,
returns the <parameter>function_name</parameter>'s return
value on success. All the extra parameters
<parameter>function_parameters</parameter> are passed to
the method <parameter>function_name</parameter>.
</para>
<para>
<example>
<title>Don't use com_invoke(), use OO syntax instead</title>
<programlisting role="php">
<refentry xml:id="function.com-invoke" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_invoke</refname>
<refpurpose>Calls a COM component's method [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>com_invoke</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>function_parameters</parameter></methodparam>
</methodsynopsis>
<para>
<function>com_invoke</function> invokes the method
named <parameter>function_name</parameter> of the COM
component referenced by <parameter>com_object</parameter>.
<function>com_invoke</function> returns &false; on error,
returns the <parameter>function_name</parameter>'s return
value on success. All the extra parameters
<parameter>function_parameters</parameter> are passed to
the method <parameter>function_name</parameter>.
</para>
<para>
<example>
<title>Don't use com_invoke(), use OO syntax instead</title>
<programlisting role="php">
<![CDATA[
<?php
<?php
// do this
$val = $obj->method($one, $two);
// instead of this:
$val = com_invoke($obj, 'method', $one, $two);
?>
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
</para>
&com.use-oo-instead;
</refsect1>
</refentry>
&com.use-oo-instead;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,33 +1,33 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<!-- $Revision: 1.9 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.27 -->
<refentry xml:id='function.com-isenum' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_isenum</refname>
<refpurpose>Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_isenum</methodname>
<methodparam><type>variant</type><parameter>com_module</parameter></methodparam>
</methodsynopsis>
<para>
Checks to see if a COM object can be enumerated using the
<literal>Next()</literal> method hack. Returns &true; if it can, &false; if it cannot.
See <xref linkend="class.com"/> class for more details on these
methods.
</para>
<note>
<para>
This function does not exist in PHP 5; use the more natural
<link linkend="control-structures.foreach">foreach</link> statement to iterate
over the contents of COM objects. See <xref linkend="com.examples.foreach"/> for
more details.
</para>
</note>
</refsect1>
</refentry>
<refentry xml:id='function.com-isenum' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_isenum</refname>
<refpurpose>Indicates if a COM object has an IEnumVariant interface for iteration [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_isenum</methodname>
<methodparam><type>variant</type><parameter>com_module</parameter></methodparam>
</methodsynopsis>
<para>
Checks to see if a COM object can be enumerated using the
<literal>Next()</literal> method hack. Returns &true; if it can, &false; if it cannot.
See <xref linkend="class.com"/> class for more details on these
methods.
</para>
<note>
<para>
This function does not exist in PHP 5; use the more natural
<link linkend="control-structures.foreach">foreach</link> statement to iterate
over the contents of COM objects. See <xref linkend="com.examples.foreach"/> for
more details.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,71 +1,71 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.27 -->
<refentry xml:id='function.com-load-typelib' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_load_typelib</refname>
<refpurpose>Loads a Typelib</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_load_typelib</methodname>
<methodparam><type>string</type><parameter>typelib_name</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_insensitive</parameter></methodparam>
</methodsynopsis>
<para>
Loads a type-library and registers its constants in the engine, as though
they were defined using <function>define</function>. The
<parameter>case_insensitive</parameter> behaves in the same way as the
parameter with the same name in the <function>define</function> function.
</para>
<para>
<parameter>typelib_name</parameter> can be one of the following:
<itemizedlist>
<listitem>
<para>
The filename of a <literal>.tlb</literal> file or the executable module
that contains the type library.
</para>
</listitem>
<listitem>
<para>
The type library GUID, followed by its version number, for example
<literal>{00000200-0000-0010-8000-00AA006D2EA4},2,0</literal>.
</para>
</listitem>
<listitem>
<para>
The type library name, e.g. <literal>Microsoft OLE DB ActiveX Data
Objects 1.0 Library</literal>.
</para>
</listitem>
</itemizedlist>
<refentry xml:id='function.com-load-typelib' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_load_typelib</refname>
<refpurpose>Loads a Typelib</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_load_typelib</methodname>
<methodparam><type>string</type><parameter>typelib_name</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_insensitive</parameter></methodparam>
</methodsynopsis>
<para>
Loads a type-library and registers its constants in the engine, as though
they were defined using <function>define</function>. The
<parameter>case_insensitive</parameter> behaves in the same way as the
parameter with the same name in the <function>define</function> function.
</para>
<para>
<parameter>typelib_name</parameter> can be one of the following:
<itemizedlist>
<listitem>
<para>
The filename of a <literal>.tlb</literal> file or the executable module
that contains the type library.
</para>
</listitem>
<listitem>
<para>
The type library GUID, followed by its version number, for example
<literal>{00000200-0000-0010-8000-00AA006D2EA4},2,0</literal>.
</para>
</listitem>
<listitem>
<para>
The type library name, e.g. <literal>Microsoft OLE DB ActiveX Data
Objects 1.0 Library</literal>.
</para>
</listitem>
</itemizedlist>
PHP will attempt to resolve the type library in this order, as the
process gets more and more expensive as you progress down the list;
searching for the type library by name is handled by physically
enumerating the registry until we find a match.
</para>
PHP will attempt to resolve the type library in this order, as the
process gets more and more expensive as you progress down the list;
searching for the type library by name is handled by physically
enumerating the registry until we find a match.
</para>
<para>
Note that it is much more efficient to use the
<xref linkend="ini.com.typelib-file"/>
configuration setting to pre-load and register the constants,
although not so flexible.
</para>
<para>
Note that it is much more efficient to use the
<xref linkend="ini.com.typelib-file"/>
configuration setting to pre-load and register the constants,
although not so flexible.
</para>
<para>
If you have turned on <xref
linkend="ini.com.autoregister-typelib"/>,
then PHP will attempt to automatically register the constants associated
with a COM object when you instantiate it. This depends on the
interfaces provided by the COM object itself, and may not always be
possible.
</para>
</refsect1>
</refentry>
<para>
If you have turned on <xref
linkend="ini.com.autoregister-typelib"/>,
then PHP will attempt to automatically register the constants associated
with a COM object when you instantiate it. This depends on the
interfaces provided by the COM object itself, and may not always be
possible.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,55 +1,49 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-load" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_load</refname>
<refpurpose>
Creates a new reference to a COM component [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>resource</type><methodname>com_load</methodname>
<methodparam><type>string</type><parameter>module_name</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>
server_name
</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>
codepage
</parameter></methodparam>
</methodsynopsis>
<para>
Equivalent to using the <literal>new</literal> operator to create an
instance of the <xref linkend="class.com"/> class. You should do
that instead of calling this function.
</para>
<para>
<example>
<title>Don't use com_load(), use OO syntax instead</title>
<programlisting role="php">
<refentry xml:id="function.com-load" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_load</refname>
<refpurpose>Creates a new reference to a COM component [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>resource</type><methodname>com_load</methodname>
<methodparam><type>string</type><parameter>module_name</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>server_name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>codepage</parameter></methodparam>
</methodsynopsis>
<para>
Equivalent to using the <literal>new</literal> operator to create an
instance of the <xref linkend="class.com"/> class. You should do
that instead of calling this function.
</para>
<para>
<example>
<title>Don't use com_load(), use OO syntax instead</title>
<programlisting role="php">
<![CDATA[
<?php
<?php
// do this
$obj = new COM($module);
// instead of this:
$obj = com_load($module);
?>
]]>
</programlisting>
</example>
</programlisting>
</example>
</para>
<note>
<para>
This function does not exist in PHP 5; use the <xref
linkend="class.com"/> class instead.
</para>
<note>
<para>
This function does not exist in PHP 5; use the <xref
linkend="class.com"/> class instead.
</para>
</note>
</refsect1>
</refentry>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,43 +1,41 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.com-message-pump" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_message_pump</refname>
<refpurpose>
Process COM messages, sleeping for up to timeoutms milliseconds
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_message_pump</methodname>
<methodparam choice="opt"><type>int</type><parameter>timeoutms</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.com-message-pump" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_message_pump</refname>
<refpurpose>Process COM messages, sleeping for up to timeoutms milliseconds</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_message_pump</methodname>
<methodparam choice="opt"><type>int</type><parameter>timeoutms</parameter></methodparam>
</methodsynopsis>
<para>
This function will sleep for up to <parameter>timeoutms</parameter>
milliseconds, or until a message arrives in the queue. If a message or
messages arrives before the timeout, they will be dispatched, and the
function will return &true;. If the timeout occurs and no messages were
processed, the return value will be &false;. If you do not specify a
value for <parameter>timeoutms</parameter>, then 0 will be assumed. A 0
value means that no waiting will be performed; if there are messages
pending they will be dispatched as before; if there are no messages
pending, the function will return &false; immediately without sleeping.
</para>
<para>
This function will sleep for up to <parameter>timeoutms</parameter>
milliseconds, or until a message arrives in the queue. If a message or
messages arrives before the timeout, they will be dispatched, and the
function will return &true;. If the timeout occurs and no messages were
processed, the return value will be &false;. If you do not specify a
value for <parameter>timeoutms</parameter>, then 0 will be assumed. A 0
value means that no waiting will be performed; if there are messages
pending they will be dispatched as before; if there are no messages
pending, the function will return &false; immediately without sleeping.
</para>
<para>
The purpose of this function is to route COM calls between apartments and
handle various synchronization issues. This allows your script to wait
efficiently for events to be triggered, while still handling other events
or running other code in the background. You should use it in a loop, as
demonstrated by the example in the <function>com_event_sink</function>
function, until you are finished using event bound COM objects.
</para>
<para>
The purpose of this function is to route COM calls between apartments and
handle various synchronization issues. This allows your script to wait
efficiently for events to be triggered, while still handling other events
or running other code in the background. You should use it in a loop, as
demonstrated by the example in the <function>com_event_sink</function>
function, until you are finished using event bound COM objects.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,48 +1,46 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.com-print-typeinfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_print_typeinfo</refname>
<refpurpose>
Print out a PHP class definition for a dispatchable interface
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<refentry xml:id="function.com-print-typeinfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_print_typeinfo</refname>
<refpurpose>Print out a PHP class definition for a dispatchable interface</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>bool</type><methodname>com_print_typeinfo</methodname>
<methodparam><type>object</type><parameter>comobject</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>dispinterface</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>wantsink</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>bool</type><methodname>com_print_typeinfo</methodname>
<methodparam><type>object</type><parameter>comobject</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>dispinterface</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>wantsink</parameter></methodparam>
</methodsynopsis>
<para>
The purpose of this function is to help generate a skeleton class for use
as an event sink. You may also use it to generate a dump of any COM
object, provided that it supports enough of the introspection
interfaces, and that you know the name of the interface you want to
display.
</para>
<para>
The purpose of this function is to help generate a skeleton class for use
as an event sink. You may also use it to generate a dump of any COM
object, provided that it supports enough of the introspection
interfaces, and that you know the name of the interface you want to
display.
</para>
<para>
<parameter>comobject</parameter> should be either an instance of a COM
object, or be the name of a typelibrary (which will be resolved according
to the rules set out in <function>com_load_typelib</function>).
<parameter>dispinterface</parameter> is the name of an IDispatch
descendant interface that you want to display. If
<parameter>wantsink</parameter> is &true;, the corresponding sink
interface will be displayed instead.
</para>
<para>
<parameter>comobject</parameter> should be either an instance of a COM
object, or be the name of a typelibrary (which will be resolved according
to the rules set out in <function>com_load_typelib</function>).
<parameter>dispinterface</parameter> is the name of an IDispatch
descendant interface that you want to display. If
<parameter>wantsink</parameter> is &true;, the corresponding sink
interface will be displayed instead.
</para>
<para>
See also <function>com_event_sink</function>,
<function>com_load_typelib</function>.
</para>
<para>
See also <function>com_event_sink</function>,
<function>com_load_typelib</function>.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,36 +1,34 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<!-- $Revision: 1.5 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-release" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_release</refname>
<refpurpose>
Decreases the components reference counter [deprecated]
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_release</methodname>
<void/>
</methodsynopsis>
<para>
Decreases the components reference counter.
</para>
<refentry xml:id="function.com-release" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_release</refname>
<refpurpose>Decreases the components reference counter [deprecated]</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_release</methodname>
<void/>
</methodsynopsis>
<para>
Decreases the components reference counter.
</para>
<warning>
<simpara>
You should never need to use this function.
</simpara>
</warning>
<note>
<simpara>This function has gone away in PHP 5.</simpara>
</note>
<warning>
<simpara>
You should never need to use this function.
</simpara>
</warning>
<note>
<simpara>This function has gone away in PHP 5.</simpara>
</note>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,47 +1,45 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.5 $ -->
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/com.xml, last change in rev 1.7 -->
<refentry xml:id="function.com-set" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_set</refname>
<refpurpose>
Assigns a value to a COM component's property
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_set</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>property</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Sets the value of the <parameter>property</parameter> of the COM
component referenced by <parameter>com_object</parameter>.
Returns the newly set value if succeeded, &false; on error.
</para>
<refentry xml:id="function.com-set" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>com_set</refname>
<refpurpose>Assigns a value to a COM component's property</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>com_set</methodname>
<methodparam><type>resource</type><parameter>com_object</parameter></methodparam>
<methodparam><type>string</type><parameter>property</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Sets the value of the <parameter>property</parameter> of the COM
component referenced by <parameter>com_object</parameter>.
Returns the newly set value if succeeded, &false; on error.
</para>
<para>
<example>
<title>Don't use com_set(), use OO syntax instead</title>
<programlisting role="php">
<para>
<example>
<title>Don't use com_set(), use OO syntax instead</title>
<programlisting role="php">
<![CDATA[
<?php
<?php
// do this
$obj->property = $value;
// instead of this:
com_set($obj, 'property', $value);
?>
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
</para>
&com.use-oo-instead;
</refsect1>
</refentry>
&com.use-oo-instead;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,31 +1,29 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<refentry xml:id="function.variant-abs" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_abs</refname>
<refpurpose>
Returns the absolute value of a variant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_abs</methodname>
<methodparam><type>mixed</type><parameter>val</parameter></methodparam>
</methodsynopsis>
<!-- $Revision: 1.4 $ -->
<refentry xml:id="function.variant-abs" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_abs</refname>
<refpurpose>Returns the absolute value of a variant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_abs</methodname>
<methodparam><type>mixed</type><parameter>val</parameter></methodparam>
</methodsynopsis>
<para>
Returns the absolute value of <parameter>val</parameter>.
</para>
<para>
Returns the absolute value of <parameter>val</parameter>.
</para>
<para>
See also <function>abs</function>.
</para>
<para>
See also <function>abs</function>.
</para>
&com.variant-arith;
&com.variant-arith;
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,74 +1,72 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-add" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_add</refname>
<refpurpose>
"Adds" two variant values together and returns the result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_add</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-add" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_add</refname>
<refpurpose>"Adds" two variant values together and returns the result</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_add</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Adds <parameter>left</parameter> to <parameter>right</parameter> using
the following rules (taken from the MSDN library), which correspond to
those of Visual Basic:
<para>
Adds <parameter>left</parameter> to <parameter>right</parameter> using
the following rules (taken from the MSDN library), which correspond to
those of Visual Basic:
<table>
<title>Variant Addition Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string type</entry>
<entry>Concatenation</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Addition</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Addition</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Addition</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Integer subtype is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_sub</function>.
</para>
<table>
<title>Variant Addition Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string type</entry>
<entry>Concatenation</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Addition</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Addition</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Addition</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Integer subtype is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
<para>
See also <function>variant_sub</function>.
</para>
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,56 +1,54 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-and" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_and</refname>
<refpurpose>
performs a bitwise AND operation between two variants and returns the result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_and</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-and" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_and</refname>
<refpurpose>performs a bitwise AND operation between two variants and returns the result</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_and</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Performs a bitwise AND operation, according to the following truth table;
note that this is slightly different from a regular AND operation.
<table>
<title>Variant AND Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&null;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_or</function>.
</para>
&com.variant-arith;
<para>
Performs a bitwise AND operation, according to the following truth table;
note that this is slightly different from a regular AND operation.
<table>
<title>Variant AND Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&null;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_or</function>.
</para>
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,39 +1,37 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-cast" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cast</refname>
<refpurpose>
Convert a variant into a new variant object of another type
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>variant_cast</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-cast" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cast</refname>
<refpurpose>Convert a variant into a new variant object of another type</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>variant_cast</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<para>
This function makes a copy of <parameter>variant</parameter> and then
performs a variant cast operation to force the copy to have the type
given by <parameter>type</parameter>. <parameter>type</parameter> should
be one of the <constant>VT_XXX</constant> constants.
</para>
<para>
This function makes a copy of <parameter>variant</parameter> and then
performs a variant cast operation to force the copy to have the type
given by <parameter>type</parameter>. <parameter>type</parameter> should
be one of the <constant>VT_XXX</constant> constants.
</para>
<para>
This function wraps VariantChangeType() in the COM library; consult MSDN
for more information.
</para>
<para>
This function wraps VariantChangeType() in the COM library; consult MSDN
for more information.
</para>
<para>
See also <function>variant_set_type</function>.
</para>
<para>
See also <function>variant_set_type</function>.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,35 +1,33 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-cat" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cat</refname>
<refpurpose>
concatenates two variant values together and returns the result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_cat</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Concatenates <parameter>left</parameter> with
<parameter>right</parameter> and returns the result.
</para>
<refentry xml:id="function.variant-cat" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cat</refname>
<refpurpose>concatenates two variant values together and returns the result</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_cat</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
See also <xref linkend="language.operators.string"/> for the string
concatenation operator; this function is notionally equivalent to
<parameter>$left</parameter> <literal>.</literal> <parameter>$right</parameter>.
</para>
<para>
Concatenates <parameter>left</parameter> with
<parameter>right</parameter> and returns the result.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<para>
See also <xref linkend="language.operators.string"/> for the string
concatenation operator; this function is notionally equivalent to
<parameter>$left</parameter> <literal>.</literal> <parameter>$right</parameter>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,127 +1,125 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-cmp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cmp</refname>
<refpurpose>
Compares two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_cmp</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>lcid</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-cmp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_cmp</refname>
<refpurpose>Compares two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_cmp</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>lcid</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<para>
Compares <parameter>left</parameter> with <parameter>right</parameter>
and returns one of the following values:
<para>
Compares <parameter>left</parameter> with <parameter>right</parameter>
and returns one of the following values:
<table>
<title>Variant Comparision Results</title>
<tgroup cols="2">
<thead>
<row>
<entry>value</entry>
<entry>meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>VARCMP_LT</constant></entry>
<entry><parameter>left</parameter> is less than
<parameter>right</parameter>
</entry>
</row>
<table>
<title>Variant Comparision Results</title>
<tgroup cols="2">
<thead>
<row>
<entry>value</entry>
<entry>meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>VARCMP_LT</constant></entry>
<entry><parameter>left</parameter> is less than
<parameter>right</parameter>
</entry>
</row>
<row>
<entry><constant>VARCMP_EQ</constant></entry>
<entry><parameter>left</parameter> is equal to
<parameter>right</parameter>
</entry>
</row>
<row>
<entry><constant>VARCMP_EQ</constant></entry>
<entry><parameter>left</parameter> is equal to
<parameter>right</parameter>
</entry>
</row>
<row>
<entry><constant>VARCMP_GT</constant></entry>
<entry><parameter>left</parameter> is greater than
<parameter>right</parameter>
</entry>
</row>
<row>
<entry><constant>VARCMP_GT</constant></entry>
<entry><parameter>left</parameter> is greater than
<parameter>right</parameter>
</entry>
</row>
<row>
<entry><constant>VARCMP_NULL</constant></entry>
<entry>Either <parameter>left</parameter>,
<parameter>right</parameter> or both are &null;
</entry>
</row>
<row>
<entry><constant>VARCMP_NULL</constant></entry>
<entry>Either <parameter>left</parameter>,
<parameter>right</parameter> or both are &null;
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</tbody>
</tgroup>
</table>
</para>
<para>
This function will only compare scalar values, not arrays or variant records.
</para>
<para>
This function will only compare scalar values, not arrays or variant records.
</para>
<para>
<parameter>lcid</parameter> is a valid Locale Identifier to use when
comparing strings (this affects string collation).
<parameter>flags</parameter> can be one or more of the following values
OR'd together, and affects string comparisons:
<para>
<parameter>lcid</parameter> is a valid Locale Identifier to use when
comparing strings (this affects string collation).
<parameter>flags</parameter> can be one or more of the following values
OR'd together, and affects string comparisons:
<table>
<title>Variant Comparision Flags</title>
<tgroup cols="2">
<thead>
<row>
<entry>value</entry>
<entry>meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>NORM_IGNORECASE</constant></entry>
<entry>Compare case insensitively</entry>
</row>
<table>
<title>Variant Comparision Flags</title>
<tgroup cols="2">
<thead>
<row>
<entry>value</entry>
<entry>meaning</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>NORM_IGNORECASE</constant></entry>
<entry>Compare case insensitively</entry>
</row>
<row>
<entry><constant>NORM_IGNORENONSPACE</constant></entry>
<entry>Ignore nonspacing characters</entry>
</row>
<row>
<entry><constant>NORM_IGNORENONSPACE</constant></entry>
<entry>Ignore nonspacing characters</entry>
</row>
<row>
<entry><constant>NORM_IGNORESYMBOLS</constant></entry>
<entry>Ignore symbols</entry>
</row>
<row>
<entry><constant>NORM_IGNOREWIDTH</constant></entry>
<entry>Ignore string width</entry>
</row>
<row>
<entry><constant>NORM_IGNORESYMBOLS</constant></entry>
<entry>Ignore symbols</entry>
</row>
<row>
<entry><constant>NORM_IGNOREKANATYPE</constant></entry>
<entry>Ignore Kana type</entry>
</row>
<row>
<entry><constant>NORM_IGNOREWIDTH</constant></entry>
<entry>Ignore string width</entry>
</row>
<row>
<entry><constant>NORM_IGNOREKASHIDA</constant></entry>
<entry>Ignore Arabic kashida characters</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<row>
<entry><constant>NORM_IGNOREKANATYPE</constant></entry>
<entry>Ignore Kana type</entry>
</row>
&com.variant-arith;
</refsect1>
</refentry>
<row>
<entry><constant>NORM_IGNOREKASHIDA</constant></entry>
<entry>Ignore Arabic kashida characters</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,34 +1,32 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.4 $ -->
<!-- $Revision: 1.5 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-date-from-timestamp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_date_from_timestamp</refname>
<refpurpose>
Returns a variant date representation of a Unix timestamp
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>variant_date_from_timestamp</methodname>
<methodparam><type>int</type><parameter>timestamp</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-date-from-timestamp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_date_from_timestamp</refname>
<refpurpose>Returns a variant date representation of a Unix timestamp</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>variant</type><methodname>variant_date_from_timestamp</methodname>
<methodparam><type>int</type><parameter>timestamp</parameter></methodparam>
</methodsynopsis>
<para>
Converts <parameter>timestamp</parameter> from a unix timestamp value
into a variant of type <constant>VT_DATE</constant>. This allows easier
interopability between the unix-ish parts of PHP and COM.
</para>
<para>
Converts <parameter>timestamp</parameter> from a unix timestamp value
into a variant of type <constant>VT_DATE</constant>. This allows easier
interopability between the unix-ish parts of PHP and COM.
</para>
<para>
See also <function>variant_date_to_timestamp</function> for the inverse
of this operation,
<function>mktime</function>, <function>time</function>.
</para>
<para>
See also <function>variant_date_to_timestamp</function> for the inverse
of this operation,
<function>mktime</function>, <function>time</function>.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,34 +1,32 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.5 $ -->
<!-- $Revision: 1.6 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-date-to-timestamp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_date_to_timestamp</refname>
<refpurpose>
Converts a variant date/time value to Unix timestamp
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_date_to_timestamp</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-date-to-timestamp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_date_to_timestamp</refname>
<refpurpose>Converts a variant date/time value to Unix timestamp</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_date_to_timestamp</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
Converts <parameter>variant</parameter> from a <constant>VT_DATE</constant>
(or similar) value into a Unix timestamp. This allows easier
interopability between the Unix-ish parts of PHP and COM.
</para>
<para>
Converts <parameter>variant</parameter> from a <constant>VT_DATE</constant>
(or similar) value into a Unix timestamp. This allows easier
interopability between the Unix-ish parts of PHP and COM.
</para>
<para>
See also <function>variant_date_from_timestamp</function> for the inverse
of this operation,
<function>date</function>, <function>strftime</function>.
</para>
</refsect1>
</refentry>
<para>
See also <function>variant_date_from_timestamp</function> for the inverse
of this operation,
<function>date</function>, <function>strftime</function>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,81 +1,79 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-div" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_div</refname>
<refpurpose>
Returns the result from dividing two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_div</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-div" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_div</refname>
<refpurpose>Returns the result from dividing two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_div</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Divides <parameter>left</parameter> by <parameter>right</parameter> and
returns the result, subject to the following rules:
<table>
<title>Variant Division Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Double is returned</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Division and a double is returned</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Division and a double is returned.</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Division and a double is returned</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry><parameter>right</parameter> is empty and
<parameter>left</parameter> is anything but empty</entry>
<entry>A com_exception with code <constant>DISP_E_DIVBYZERO</constant>
is thrown</entry>
</row>
<row>
<entry><parameter>left</parameter> is empty and
<parameter>right</parameter> is anything but empty.</entry>
<entry>0 as type double is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>A com_exception with code <constant>DISP_E_OVERFLOW</constant>
is thrown</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
<para>
Divides <parameter>left</parameter> by <parameter>right</parameter> and
returns the result, subject to the following rules:
</refsect1>
</refentry>
<table>
<title>Variant Division Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Double is returned</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Division and a double is returned</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Division and a double is returned.</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Division and a double is returned</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry><parameter>right</parameter> is empty and
<parameter>left</parameter> is anything but empty</entry>
<entry>A com_exception with code <constant>DISP_E_DIVBYZERO</constant>
is thrown</entry>
</row>
<row>
<entry><parameter>left</parameter> is empty and
<parameter>right</parameter> is anything but empty.</entry>
<entry>0 as type double is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>A com_exception with code <constant>DISP_E_OVERFLOW</constant>
is thrown</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,30 +1,28 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-eqv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_eqv</refname>
<refpurpose>
Performs a bitwise equivalence on two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_eqv</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-eqv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_eqv</refname>
<refpurpose>Performs a bitwise equivalence on two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_eqv</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
If each bit in <parameter>left</parameter> is equal to the corresponding
bit in <parameter>right</parameter> then &true; is returned, otherwise
&false; is returned.
</para>
<para>
If each bit in <parameter>left</parameter> is equal to the corresponding
bit in <parameter>right</parameter> then &true; is returned, otherwise
&false; is returned.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,46 +1,44 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-fix" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_fix</refname>
<refpurpose>
Returns the integer portion ? of a variant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_fix</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-fix" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_fix</refname>
<refpurpose>Returns the integer portion ? of a variant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_fix</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
If <parameter>variant</parameter> is negative, then the first negative
integer greater than or equal to the variant is returned, otherwise
returns the integer portion of the value of
<parameter>variant</parameter>.
</para>
<para>
If <parameter>variant</parameter> is negative, then the first negative
integer greater than or equal to the variant is returned, otherwise
returns the integer portion of the value of
<parameter>variant</parameter>.
</para>
<para>
See also <function>variant_int</function>,
<function>variant_round</function>, <function>floor</function>,
<function>ceil</function>,
<function>round</function>.
</para>
<para>
See also <function>variant_int</function>,
<function>variant_round</function>, <function>floor</function>,
<function>ceil</function>,
<function>round</function>.
</para>
<warning>
<simpara>
This documentation is based on the MSDN documentation; it appears
that this function is either the same as
<function>variant_int</function>, or that there is an error in the MSDN
documentation.
</simpara>
</warning>
<warning>
<simpara>
This documentation is based on the MSDN documentation; it appears
that this function is either the same as
<function>variant_int</function>, or that there is an error in the MSDN
documentation.
</simpara>
</warning>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,38 +1,38 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<refentry xml:id="function.variant-get-type" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_get_type</refname>
<refpurpose>Returns the type of a variant object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_get_type</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
This function returns an integer value that indicates the type of
<parameter>variant</parameter>, which can be an instance of
<xref linkend="class.com"/>,
<xref linkend="class.dotnet"/> or
<xref linkend="class.variant"/> classes. The return value
can be compared to one of the <constant>VT_XXX</constant> constants.
</para>
<para>
The return value for COM and DOTNET objects will usually be
<constant>VT_DISPATCH</constant>; the only reason this function works for
those classes is because COM and DOTNET are descendants of VARIANT.
</para>
<para>
In PHP versions prior to 5, you could obtain this information from
instances of the VARIANT class ONLY, by reading a fake
<parameter>type</parameter> property. See the <xref
linkend="class.variant"/> class for more information on
this.
</para>
</refsect1>
</refentry>
<!-- $Revision: 1.5 $ -->
<refentry xml:id="function.variant-get-type" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_get_type</refname>
<refpurpose>Returns the type of a variant object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>variant_get_type</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
This function returns an integer value that indicates the type of
<parameter>variant</parameter>, which can be an instance of
<xref linkend="class.com"/>,
<xref linkend="class.dotnet"/> or
<xref linkend="class.variant"/> classes. The return value
can be compared to one of the <constant>VT_XXX</constant> constants.
</para>
<para>
The return value for COM and DOTNET objects will usually be
<constant>VT_DISPATCH</constant>; the only reason this function works for
those classes is because COM and DOTNET are descendants of VARIANT.
</para>
<para>
In PHP versions prior to 5, you could obtain this information from
instances of the VARIANT class ONLY, by reading a fake
<parameter>type</parameter> property. See the <xref
linkend="class.variant"/> class for more information on
this.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,73 +1,71 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-idiv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_idiv</refname>
<refpurpose>
Converts variants to integers and then returns the result from dividing them
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_idiv</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-idiv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_idiv</refname>
<refpurpose>Converts variants to integers and then returns the result from dividing them</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_idiv</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Converts <parameter>left</parameter> and <parameter>right</parameter> to
integer values, and then performs integer division according the
following rules:
<table>
<title>Variant Integer Division Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Division and integer is returned</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Division</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Division</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Division</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>A com_exception with code <constant>DISP_E_DIVBYZERO</constant>
is thrown</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_div</function>.
</para>
&com.variant-arith;
<para>
Converts <parameter>left</parameter> and <parameter>right</parameter> to
integer values, and then performs integer division according the
following rules:
<table>
<title>Variant Integer Division Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Division and integer is returned</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Division</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Division</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Division</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>A com_exception with code <constant>DISP_E_DIVBYZERO</constant>
is thrown</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
</refentry>
<para>
See also <function>variant_div</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,51 +1,49 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-imp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_imp</refname>
<refpurpose>
Performs a bitwise implication on two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_imp</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-imp" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_imp</refname>
<refpurpose>Performs a bitwise implication on two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_imp</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Performs a bitwise implication operation, according to the following truth table:
<table>
<title>Variant Implication Table</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
Performs a bitwise implication operation, according to the following truth table:
<table>
<title>Variant Implication Table</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,38 +1,36 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-int" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_int</refname>
<refpurpose>
Returns the integer portion of a variant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_int</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-int" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_int</refname>
<refpurpose>Returns the integer portion of a variant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_int</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
If <parameter>variant</parameter> is negative, then the first negative
integer greater than or equal to the variant is returned, otherwise
returns the integer portion of the value of
<parameter>variant</parameter>.
</para>
<para>
If <parameter>variant</parameter> is negative, then the first negative
integer greater than or equal to the variant is returned, otherwise
returns the integer portion of the value of
<parameter>variant</parameter>.
</para>
<para>
See also <function>variant_fix</function>,
<function>variant_round</function>, <function>floor</function>,
<function>ceil</function>,
<function>round</function>.
</para>
<para>
See also <function>variant_fix</function>,
<function>variant_round</function>, <function>floor</function>,
<function>ceil</function>,
<function>round</function>.
</para>
&com.variant-arith;
&com.variant-arith;
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,34 +1,32 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-mod" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_mod</refname>
<refpurpose>
Divides two variants and returns only the remainder
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_mod</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-mod" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_mod</refname>
<refpurpose>Divides two variants and returns only the remainder</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_mod</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Divides <parameter>left</parameter> by <parameter>right</parameter> and
returns the remainder.
</para>
<para>
Divides <parameter>left</parameter> by <parameter>right</parameter> and
returns the remainder.
</para>
<para>
See also <function>variant_div</function>,
<function>variant_idiv</function>.
</para>
<para>
See also <function>variant_div</function>,
<function>variant_idiv</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,77 +1,75 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-mul" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_mul</refname>
<refpurpose>
multiplies the values of the two variants and returns the result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_mul</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-mul" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_mul</refname>
<refpurpose>multiplies the values of the two variants and returns the result</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_mul</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Multiplies <parameter>left</parameter> by <parameter>right</parameter> and
returns the result, subject to the following rules:
<table>
<title>Variant Multiplication Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Empty string is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Boolean values are converted to -1 for &false; and 0 for &true;.
</para>
<para>
Multiplies <parameter>left</parameter> by <parameter>right</parameter> and
returns the result, subject to the following rules:
<para>
See also <function>variant_div</function>,
<function>variant_idiv</function>.
</para>
<table>
<title>Variant Multiplication Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string, date, character, boolean type</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Multiplication</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Empty string is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
</refsect1>
</refentry>
<para>
Boolean values are converted to -1 for &false; and 0 for &true;.
</para>
<para>
See also <function>variant_div</function>,
<function>variant_idiv</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,28 +1,26 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-neg" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_neg</refname>
<refpurpose>
Performs logical negation on a variant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_neg</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-neg" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_neg</refname>
<refpurpose>Performs logical negation on a variant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_neg</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
Performs logical negation of <parameter>variant</parameter> and returns
the result.
</para>
<para>
Performs logical negation of <parameter>variant</parameter> and returns
the result.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,29 +1,27 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-not" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_not</refname>
<refpurpose>
Performs bitwise not negation on a variant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_not</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-not" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_not</refname>
<refpurpose>Performs bitwise not negation on a variant</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_not</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
</methodsynopsis>
<para>
Performs bitwise not negation on <parameter>variant</parameter> and
returns the result. If <parameter>variant</parameter> is &null;, the
result will also be &null;.
</para>
<para>
Performs bitwise not negation on <parameter>variant</parameter> and
returns the result. If <parameter>variant</parameter> is &null;, the
result will also be &null;.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,54 +1,52 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-or" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_or</refname>
<refpurpose>
Performs a logical disjunction on two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_or</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Performs a bitwise OR operation, according to the following truth table;
note that this is slightly different from a regular OR operation.
<table>
<title>Variant OR Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_and</function>,
<function>variant_xor</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<refentry xml:id="function.variant-or" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_or</refname>
<refpurpose>Performs a logical disjunction on two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_or</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Performs a bitwise OR operation, according to the following truth table;
note that this is slightly different from a regular OR operation.
<table>
<title>Variant OR Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&true;</entry><entry>&null;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&false;</entry><entry>&null;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&null;</entry><entry>&false;</entry><entry>&null;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_and</function>,
<function>variant_xor</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,33 +1,31 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-pow" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_pow</refname>
<refpurpose>
Returns the result of performing the power function with two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_pow</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-pow" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_pow</refname>
<refpurpose>Returns the result of performing the power function with two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_pow</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Returns the result of <parameter>left</parameter> to the power of
<parameter>right</parameter>.
</para>
<para>
Returns the result of <parameter>left</parameter> to the power of
<parameter>right</parameter>.
</para>
<para>
See also <function>pow</function>.
</para>
<para>
See also <function>pow</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,33 +1,31 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-round" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_round</refname>
<refpurpose>
Rounds a variant to the specified number of decimal places
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_round</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>decimals</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-round" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_round</refname>
<refpurpose>Rounds a variant to the specified number of decimal places</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_round</methodname>
<methodparam><type>mixed</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>decimals</parameter></methodparam>
</methodsynopsis>
<para>
Returns the value of <parameter>variant</parameter> rounded to
<parameter>decimals</parameter> decimal places.
</para>
<para>
Returns the value of <parameter>variant</parameter> rounded to
<parameter>decimals</parameter> decimal places.
</para>
<para>
See also <function>round</function>.
</para>
<para>
See also <function>round</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,34 +1,32 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.4 $ -->
<!-- $Revision: 1.5 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-set-type" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_set_type</refname>
<refpurpose>
Convert a variant into another type "in-place"
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>variant_set_type</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-set-type" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_set_type</refname>
<refpurpose>Convert a variant into another type "in-place"</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>variant_set_type</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>int</type><parameter>type</parameter></methodparam>
</methodsynopsis>
<para>
This function is similar to <function>variant_cast</function> except that
the variant is modified "in-place"; no new variant is created. The
parameters for this function have identical meaning to those of
<function>variant_cast</function>.
</para>
<para>
This function is similar to <function>variant_cast</function> except that
the variant is modified "in-place"; no new variant is created. The
parameters for this function have identical meaning to those of
<function>variant_cast</function>.
</para>
<para>
See also <function>variant_cast</function>.
</para>
<para>
See also <function>variant_cast</function>.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,29 +1,27 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-set" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_set</refname>
<refpurpose>
Assigns a new value for a variant object
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>variant_set</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-set" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_set</refname>
<refpurpose>Assigns a new value for a variant object</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>void</type><methodname>variant_set</methodname>
<methodparam><type>variant</type><parameter>variant</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<para>
Converts <parameter>value</parameter> to a variant and assigns it to the
<parameter>variant</parameter> object; no new variant object is created,
and the old value of <parameter>variant</parameter> is freed/released.
</para>
<para>
Converts <parameter>value</parameter> to a variant and assigns it to the
<parameter>variant</parameter> object; no new variant object is created,
and the old value of <parameter>variant</parameter> is freed/released.
</para>
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,72 +1,70 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-sub" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_sub</refname>
<refpurpose>
subtracts the value of the right variant from the left variant value and returns the result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_sub</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-sub" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_sub</refname>
<refpurpose>subtracts the value of the right variant from the left variant value and returns the result</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_sub</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Subtracts <parameter>right</parameter> from <parameter>left</parameter> using
the following rules:
<para>
Subtracts <parameter>right</parameter> from <parameter>left</parameter> using
the following rules:
<table>
<title>Variant Subtraction Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string type</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Subtraction.</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Empty string is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_add</function>.
</para>
<table>
<title>Variant Subtraction Rules</title>
<tgroup cols="2">
<thead>
<row>
<entry>If</entry>
<entry>Then</entry>
</row>
</thead>
<tbody>
<row>
<entry>Both expressions are of the string type</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>One expression is a string type and the other a
character</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>One expression is numeric and the other is a string</entry>
<entry>Subtraction.</entry>
</row>
<row>
<entry>Both expressions are numeric</entry>
<entry>Subtraction</entry>
</row>
<row>
<entry>Either expression is NULL</entry>
<entry>NULL is returned</entry>
</row>
<row>
<entry>Both expressions are empty</entry>
<entry>Empty string is returned</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
&com.variant-arith;
</refsect1>
</refentry>
<para>
See also <function>variant_add</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:

View file

@ -1,51 +1,49 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- Generated by xml_proto.php v2.0. Found in /scripts directory of phpdoc. -->
<refentry xml:id="function.variant-xor" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_xor</refname>
<refpurpose>
Performs a logical exclusion on two variants
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_xor</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<refentry xml:id="function.variant-xor" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>variant_xor</refname>
<refpurpose>Performs a logical exclusion on two variants</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>mixed</type><methodname>variant_xor</methodname>
<methodparam><type>mixed</type><parameter>left</parameter></methodparam>
<methodparam><type>mixed</type><parameter>right</parameter></methodparam>
</methodsynopsis>
<para>
Performs a logical exclusion, according to the following truth table:
<table>
<title>Variant XOR Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&false;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_and</function>,
<function>variant_or</function>.
</para>
&com.variant-arith;
<para>
Performs a logical exclusion, according to the following truth table:
<table>
<title>Variant XOR Rules</title>
<tgroup cols="3">
<thead>
<row>
<entry>If <parameter>left</parameter> is</entry>
<entry>If <parameter>right</parameter> is</entry>
<entry>then the result is</entry>
</row>
</thead>
<tbody>
<row><entry>&true;</entry><entry>&true;</entry><entry>&false;</entry></row>
<row><entry>&true;</entry><entry>&false;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&true;</entry><entry>&true;</entry></row>
<row><entry>&false;</entry><entry>&false;</entry><entry>&false;</entry></row>
<row><entry>&null;</entry><entry>&null;</entry><entry>&null;</entry></row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>variant_and</function>,
<function>variant_or</function>.
</para>
&com.variant-arith;
</refsect1>
</refentry>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables: