1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-23 23:12:09 +01:00

Native EOL

Use consistent line terminator.


git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@317671 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Richard Quadling
2011-10-03 16:59:17 +00:00
parent 991d320fd2
commit 1fa367dd0d
1290 changed files with 134122 additions and 134122 deletions

View File

@@ -1,241 +1,241 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: yago Status: ready -->
<sect3 xml:id="configure.options.misc" xmlns="http://docbook.org/ns/docbook">
<title>Opciones Misceláneas</title>
<variablelist>
<varlistentry xml:id="configure.enable-debug">
<term>
<option role="configure">--enable-debug</option>
</term>
<listitem>
<para>
Compilar con símbolos de rastreo de errores (debugging).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-layout">
<term>
<option role="configure">--with-layout=TYPE</option>
</term>
<listitem>
<para>
Establece como los ficheros instalados serán presentados. El tipo
uno es de PHP (valor por defecto) o GNU.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-pear">
<term>
<option role="configure">--with-pear=DIR</option>
</term>
<listitem>
<para>
Instala PEAR en DIR (valor por defecto PREFIX/lib/php).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.without-pear">
<term>
<option role="configure">--without-pear</option>
</term>
<listitem>
<para>
No instala PEAR.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-sigchild">
<term>
<option role="configure">--enable-sigchild</option>
</term>
<listitem>
<para>
Establece el propio manejador SIGCHLD de PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-rpath">
<term>
<option role="configure">--disable-rpath</option>
</term>
<listitem>
<para>
Deshabilita pasar trayectorias de búsqueda de
librerias de tiempo de ejecución adicionales.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-libgcc">
<term>
<option role="configure">--enable-libgcc</option>
</term>
<listitem>
<para>
Habilita explícitamente el ligado con libgcc.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-php-streams">
<term>
<option role="configure">--enable-php-streams</option>
</term>
<listitem>
<para>
Incluye streams PHP experimentales. ¡No se use a menos que este
probando el código!.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-zlib-dir">
<term>
<option role="configure">--with-zlib-dir[=DIR]</option>
</term>
<listitem>
<para>
Defina la localización del directorio de instalación de zlib.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-trans-sid">
<term>
<option role="configure">--enable-trans-sid</option>
</term>
<listitem>
<para>
Habilita la propagación transparente del ID de sesión. Válido sólo
para PHP 4.1.2 or inferior. A partir de PHP 4.2.0, la característica
trans-id está siempre disponible.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-tsrm-pthreads">
<term>
<option role="configure">--with-tsrm-pthreads</option>
</term>
<listitem>
<para>
Usa threads de POSIX (valor por defecto).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-shared">
<term>
<option role="configure">--enable-shared[=PKGS]</option>
</term>
<listitem>
<para>
Construye librerías compartidas [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-static">
<term>
<option role="configure">--enable-static[=PKGS]</option>
</term>
<listitem>
<para>
Construye librerias estáticas [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-fast-install">
<term>
<option role="configure">--enable-fast-install[=PKGS]</option>
</term>
<listitem>
<para>
Optimiza para una rápida instalación [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-gnu-ld">
<term>
<option role="configure">--with-gnu-ld</option>
</term>
<listitem>
<para>
Asume que el compilador de C usa GNU Id [default=no].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-libtool-lock">
<term>
<option role="configure">--disable-libtool-lock</option>
</term>
<listitem>
<para>
Evita bloqueos (debe romper compilaciones paralelas).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-pic">
<term>
<option role="configure">--with-pic</option>
</term>
<listitem>
<para>
Intenta usar sólo objetos PIC/non-PIC [default=use both].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-memory-limit">
<term>
<option role="configure">--enable-memory-limit</option>
</term>
<listitem>
<para>
Compila con soporte de limite de memoria.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-url-fopen-wrapper">
<term>
<option role="configure">--disable-url-fopen-wrapper</option>
</term>
<listitem>
<para>
Deshabilita empaquetador fopen que abre URLs, que permite
accesar ficheros vía HTTP o FTP. (No disponible desde PHP
5.2.5)
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-versioning.php4">
<term>
<option role="configure">--enable-versioning</option>
</term>
<listitem>
<para>
Exporta sólo los símbolos requeridos.
Vea INSTALL para más información.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: yago Status: ready -->
<sect3 xml:id="configure.options.misc" xmlns="http://docbook.org/ns/docbook">
<title>Opciones Misceláneas</title>
<variablelist>
<varlistentry xml:id="configure.enable-debug">
<term>
<option role="configure">--enable-debug</option>
</term>
<listitem>
<para>
Compilar con símbolos de rastreo de errores (debugging).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-layout">
<term>
<option role="configure">--with-layout=TYPE</option>
</term>
<listitem>
<para>
Establece como los ficheros instalados serán presentados. El tipo
uno es de PHP (valor por defecto) o GNU.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-pear">
<term>
<option role="configure">--with-pear=DIR</option>
</term>
<listitem>
<para>
Instala PEAR en DIR (valor por defecto PREFIX/lib/php).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.without-pear">
<term>
<option role="configure">--without-pear</option>
</term>
<listitem>
<para>
No instala PEAR.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-sigchild">
<term>
<option role="configure">--enable-sigchild</option>
</term>
<listitem>
<para>
Establece el propio manejador SIGCHLD de PHP.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-rpath">
<term>
<option role="configure">--disable-rpath</option>
</term>
<listitem>
<para>
Deshabilita pasar trayectorias de búsqueda de
librerias de tiempo de ejecución adicionales.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-libgcc">
<term>
<option role="configure">--enable-libgcc</option>
</term>
<listitem>
<para>
Habilita explícitamente el ligado con libgcc.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-php-streams">
<term>
<option role="configure">--enable-php-streams</option>
</term>
<listitem>
<para>
Incluye streams PHP experimentales. ¡No se use a menos que este
probando el código!.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-zlib-dir">
<term>
<option role="configure">--with-zlib-dir[=DIR]</option>
</term>
<listitem>
<para>
Defina la localización del directorio de instalación de zlib.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-trans-sid">
<term>
<option role="configure">--enable-trans-sid</option>
</term>
<listitem>
<para>
Habilita la propagación transparente del ID de sesión. Válido sólo
para PHP 4.1.2 or inferior. A partir de PHP 4.2.0, la característica
trans-id está siempre disponible.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-tsrm-pthreads">
<term>
<option role="configure">--with-tsrm-pthreads</option>
</term>
<listitem>
<para>
Usa threads de POSIX (valor por defecto).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-shared">
<term>
<option role="configure">--enable-shared[=PKGS]</option>
</term>
<listitem>
<para>
Construye librerías compartidas [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-static">
<term>
<option role="configure">--enable-static[=PKGS]</option>
</term>
<listitem>
<para>
Construye librerias estáticas [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-fast-install">
<term>
<option role="configure">--enable-fast-install[=PKGS]</option>
</term>
<listitem>
<para>
Optimiza para una rápida instalación [default=yes].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-gnu-ld">
<term>
<option role="configure">--with-gnu-ld</option>
</term>
<listitem>
<para>
Asume que el compilador de C usa GNU Id [default=no].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-libtool-lock">
<term>
<option role="configure">--disable-libtool-lock</option>
</term>
<listitem>
<para>
Evita bloqueos (debe romper compilaciones paralelas).
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.with-pic">
<term>
<option role="configure">--with-pic</option>
</term>
<listitem>
<para>
Intenta usar sólo objetos PIC/non-PIC [default=use both].
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-memory-limit">
<term>
<option role="configure">--enable-memory-limit</option>
</term>
<listitem>
<para>
Compila con soporte de limite de memoria.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.disable-url-fopen-wrapper">
<term>
<option role="configure">--disable-url-fopen-wrapper</option>
</term>
<listitem>
<para>
Deshabilita empaquetador fopen que abre URLs, que permite
accesar ficheros vía HTTP o FTP. (No disponible desde PHP
5.2.5)
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="configure.enable-versioning.php4">
<term>
<option role="configure">--enable-versioning</option>
</term>
<listitem>
<para>
Exporta sólo los símbolos requeridos.
Vea INSTALL para más información.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect3>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,143 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3e57d6ccfdd9e474227c60e0773a3c7d1ecb9536 Maintainer: lboshell Status: ready -->
<appendix xml:id="transports" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista de Transportes de Sockets Soportados</title>
<para>
La siguiente es una lista de los varios transportes de socket estilo URL
que PHP tiene integrados para su uso con funciones de sockets basados en
secuencias, tales como <function>fsockopen</function>, y
<function>stream_socket_client</function>. Estos transportes
<emphasis>no</emphasis> se aplican a la <link
linkend="ref.sockets">Extensión de Sockets</link>.
</para>
<para>
Para una lista de transportes instalados con su versión de PHP use
<function>stream_get_transports</function>.
</para>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3e57d6ccfdd9e474227c60e0773a3c7d1ecb9536 Maintainer: lboshell Status: ready -->
<appendix xml:id="transports" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista de Transportes de Sockets Soportados</title>
<para>
La siguiente es una lista de los varios transportes de socket estilo URL
que PHP tiene integrados para su uso con funciones de sockets basados en
secuencias, tales como <function>fsockopen</function>, y
<function>stream_socket_client</function>. Estos transportes
<emphasis>no</emphasis> se aplican a la <link
linkend="ref.sockets">Extensión de Sockets</link>.
</para>
<!-- FIXME PHP_6 Mentioned PHP 6, but let's explore not hard coding PHP versions like this -->
<section xml:id="transports.inet">
<title>Dominio de Internet: TCP, UDP, SSL, y TLS</title>
<simpara>
PHP 4, PHP 5. <literal>ssl://</literal> y
<literal>tls://</literal> a partir de PHP 4.3.0,
<literal>sslv2://</literal> y <literal>sslv3://</literal> a partir de PHP
5.0.2
</simpara>
<note>
<simpara>
Si no se especifica un transporte, se asumirá <literal>tcp://</literal>
</simpara>
</note>
<itemizedlist>
<listitem><simpara><literal>127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tcp://127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>udp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>ssl://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>sslv2://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>sslv3://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tls://www.example.com</literal></simpara></listitem>
</itemizedlist>
<simpara>
Los sockets del Dominio de Internet esperan un número de puerto junto con
una dirección de destino. En el caso de <function>fsockopen</function>,
éste es especificado en un segundo parámetro y por lo tanto no tiene
impacto sobre el formato de la URL de transporte. Sin embargo, en el caso
de <function>stream_socket_client</function> y funciones relacionadas,
así como ocurre con URLs tradicionales, el número de puerto se especifica
como un sufijo del URL de transporte delimitado con el signo dos puntos.
</simpara>
<itemizedlist>
<listitem><simpara><literal>tcp://127.0.0.1:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://[fe80::1]:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com:80</literal></simpara></listitem>
</itemizedlist>
<note>
<title>Direcciones IPv6 numéricas con números de puerto</title>
<simpara>
En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y con
nombre de dominio fueron modificados solo ligeramente con la adición de
sus dos puntos y número de puerto, la dirección IPv6 es rodeada por
corchetes cuadrados: <literal>[fe80::1]</literal>. Esto es para poder
distinguir entre los dos puntos usados en una dirección IPv6 y aquellos
usados para delimitar el número de puerto.
</simpara>
</note>
<simpara>
Los transportes <literal>ssl://</literal> y <literal>tls://</literal>
(disponibles únicamente cuando se compila el soporte para openssl con
PHP) son extensiones del transporte <literal>tcp://</literal> el cual
incluye encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL debe ser
compilado estáticamente con PHP, a partir de PHP 5.0.0 puede ser
compilado como módulo o estáticamente.
</simpara>
<simpara>
<literal>ssl://</literal> intentará negociar una conexión SSL V2 o SSL V3
dependiendo de las capacidades y preferencias del host remoto.
<literal>sslv2://</literal> y <literal>sslv3://</literal> seleccionarán
el protocolo SSL V2 o SSL V3 explícitamente.
</simpara>
</section>
<section xml:id="transports.unix">
<title>Dominio Unix: Unix y UDG</title>
<simpara>
<literal>unix://</literal> y <literal>udg://</literal> (udg:// a partir
de PHP 5).
</simpara>
<itemizedlist>
<listitem><simpara><literal>unix:///tmp/misock</literal></simpara></listitem>
<listitem><simpara><literal>udg:///tmp/misock</literal></simpara></listitem>
</itemizedlist>
<simpara>
<literal>unix://</literal> provee acceso a una conexión secuencial de
sockets en el dominio Unix. <literal>udg://</literal> provee un
transporte alternativo a un socket del dominio Unix, usando el protocolo
de datagramas de usuario.
</simpara>
<simpara>
Los sockets de dominio Unix, a diferencia de los sockets del dominio de
Internet, no esperan un número de puerto. En el caso de
<function>fsockopen</function>, el parámetro
<parameter>num_puerto</parameter> debe ser definido como 0.
</simpara>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<para>
Para una lista de transportes instalados con su versión de PHP use
<function>stream_get_transports</function>.
</para>
<!-- FIXME PHP_6 Mentioned PHP 6, but let's explore not hard coding PHP versions like this -->
<section xml:id="transports.inet">
<title>Dominio de Internet: TCP, UDP, SSL, y TLS</title>
<simpara>
PHP 4, PHP 5. <literal>ssl://</literal> y
<literal>tls://</literal> a partir de PHP 4.3.0,
<literal>sslv2://</literal> y <literal>sslv3://</literal> a partir de PHP
5.0.2
</simpara>
<note>
<simpara>
Si no se especifica un transporte, se asumirá <literal>tcp://</literal>
</simpara>
</note>
<itemizedlist>
<listitem><simpara><literal>127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tcp://127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>udp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>ssl://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>sslv2://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>sslv3://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tls://www.example.com</literal></simpara></listitem>
</itemizedlist>
<simpara>
Los sockets del Dominio de Internet esperan un número de puerto junto con
una dirección de destino. En el caso de <function>fsockopen</function>,
éste es especificado en un segundo parámetro y por lo tanto no tiene
impacto sobre el formato de la URL de transporte. Sin embargo, en el caso
de <function>stream_socket_client</function> y funciones relacionadas,
así como ocurre con URLs tradicionales, el número de puerto se especifica
como un sufijo del URL de transporte delimitado con el signo dos puntos.
</simpara>
<itemizedlist>
<listitem><simpara><literal>tcp://127.0.0.1:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://[fe80::1]:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com:80</literal></simpara></listitem>
</itemizedlist>
<note>
<title>Direcciones IPv6 numéricas con números de puerto</title>
<simpara>
En el segundo ejemplo anterior, mientras que los ejemplos IPv4 y con
nombre de dominio fueron modificados solo ligeramente con la adición de
sus dos puntos y número de puerto, la dirección IPv6 es rodeada por
corchetes cuadrados: <literal>[fe80::1]</literal>. Esto es para poder
distinguir entre los dos puntos usados en una dirección IPv6 y aquellos
usados para delimitar el número de puerto.
</simpara>
</note>
<simpara>
Los transportes <literal>ssl://</literal> y <literal>tls://</literal>
(disponibles únicamente cuando se compila el soporte para openssl con
PHP) son extensiones del transporte <literal>tcp://</literal> el cual
incluye encripción SSL. A partir de PHP 4.3.0 el soporte OpenSSL debe ser
compilado estáticamente con PHP, a partir de PHP 5.0.0 puede ser
compilado como módulo o estáticamente.
</simpara>
<simpara>
<literal>ssl://</literal> intentará negociar una conexión SSL V2 o SSL V3
dependiendo de las capacidades y preferencias del host remoto.
<literal>sslv2://</literal> y <literal>sslv3://</literal> seleccionarán
el protocolo SSL V2 o SSL V3 explícitamente.
</simpara>
</section>
<section xml:id="transports.unix">
<title>Dominio Unix: Unix y UDG</title>
<simpara>
<literal>unix://</literal> y <literal>udg://</literal> (udg:// a partir
de PHP 5).
</simpara>
<itemizedlist>
<listitem><simpara><literal>unix:///tmp/misock</literal></simpara></listitem>
<listitem><simpara><literal>udg:///tmp/misock</literal></simpara></listitem>
</itemizedlist>
<simpara>
<literal>unix://</literal> provee acceso a una conexión secuencial de
sockets en el dominio Unix. <literal>udg://</literal> provee un
transporte alternativo a un socket del dominio Unix, usando el protocolo
de datagramas de usuario.
</simpara>
<simpara>
Los sockets de dominio Unix, a diferencia de los sockets del dominio de
Internet, no esperan un número de puerto. En el caso de
<function>fsockopen</function>, el parámetro
<parameter>num_puerto</parameter> debe ser definido como 0.
</simpara>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,358 +1,358 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.search" xmlns="http://docbook.org/ns/docbook">
<title>La Búsqueda de Texto Completo</title>
<para>
Esta edición del Manual de PHP incluye una
característica avanzada de búsqueda de texto completo
ofrecida por la aplicación visora. Esto le permite a los
usuarios buscar por cada palabra en el archivo de ayuda para
encontrar una coincidencia. Por ejemplo, si un usuario realiza una
búsqueda de texto completo sobre la palabra "Apache", cada
tópico que contega la palabra "Apache" será
listado. La búsqueda de texto completo le permite a un
usuario efectuar búsquedas usando expresiones anidadas,
booleanas y comodines. Un usuario también puede limitar la
búsqueda a resultados previos, coincidencias con palabras
similares, o buscar únicamente en títulos de temas.
</para>
<para>
El uso de la característica de búsqueda es bastante
directo. Pulse sobre la solapa de búsqueda, escriba las
palabras deseadas y presione ENTER (o pulse sobre "Listar
Tópicos"). Entonces recibirá una lista de
coincidencias del Manual de PHP (y las notas). Puede usar el
botón con una flecha derecha y agregar operadores booleanos
a su búsqueda (o puede escribirlos). Como puede ver en los
resultados, puede usar las cabeceras de columna (Título,
Ubicación y Rango) para ordenar la lista de
tópicos. El orden predeterminado es por
Rank. También puede ordenar algunos parámetros al
final de la ésta solapa.
</para>
<para>
Las palabras encontradas son resaltadas en la página actual
del panel de Tópico por defecto. Puede deshabilitar
ésta característica seleccionando el item "Search
Highlight Off" en el menú de Opciones. Si está
observando un tópico largo, sólo las primeras 500
instancias de una palabra o frase de búsqueda serán
resaltadas, debido a una limitación del visor.
</para>
<sect1 xml:id="chm.search.rules">
<title>Reglas generales de búsqueda</title>
<para>
Una búsqueda básica consiste de la palabra o frase
que desea encontrar. Puede usar expresiones con comodines,
expresiones anidadas, operadores booleanos, coincidencias de
palabras similares, una lista de resultados previos, o
títulos de temas para refinar su búsqueda.
</para>
<para>
Las reglas básicas para formular consultas son las
siguientes:
<itemizedlist>
<listitem>
<simpara>
Las búsquedas no son sensibles a mayúsculas y
minúsculas, de modo que puede escribir su
búsqueda usando cualquier estilo.
</simpara>
</listitem>
<listitem>
<simpara>
Puede realizar búsquedas sobre cualquier
combinación de letras (a-z) y números (0-9). No
puede realizar búsquedas sobre letras sencillas (a, b,
c, etc.) y palabras comunes, como: un, y, como, en, pero, por,
para, tener, el, en, eso, no, de, sobre, ella, alla, esto,
nosotros, cual, con, usted.
</simpara>
</listitem>
<listitem>
<simpara>
Los signos de puntuación como el punto (.), los
dos-puntos (:), el punto-y-coma (;), la coma (,), y el
guión (-) son ignorados durante una búsqueda.
</simpara>
</listitem>
<listitem>
<simpara>
Agrupe los elementos de su búsqueda usando comillas
dobles o paréntesis para separar cada elemento. No puede
hacer búsquedas sobre signos de comillas.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
<note>
<para>
Si está buscando por un nombre de archivo con una
extensión, debe agrupar la cadena completa en comillas
dobles, ("nombre_archivo.ext"). De otra forma, el punto
separará el nombre de archivo en dos términos
diferentes. La operación predeterminada entre
términos es AND, de modo que creará el equivalente
lógico de "nombre_archivo AND ext".
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.words">
<title>Búsquedas sobre palabras o frases</title>
<para>
Puede realizar búsquedas sobre palabras o frases y usar
expresiones con comodines. Las expresiones con comodines le
permiten buscar por uno o más caracteres usando un signo de
interrogación o un asterisco. La siguiente tabla describe
los resultados de éstos tipos distintos de búsqueda.
<table>
<title>Búsquedas por palabra y frase</title>
<tgroup cols="3">
<thead>
<row>
<entry>Buscar por</entry>
<entry>Ejemplo</entry>
<entry>Resultados</entry>
</row>
</thead>
<tbody>
<row>
<entry>Una palabra sencilla</entry>
<entry>seleccionar</entry>
<entry>Tópicos que contienen la palabra
"seleccionar". (También encontrará sus
variaciones gramaticales, como "seleccionador" y
"selección".)</entry>
</row>
<row>
<entry>Una frase</entry>
<entry>"nuevo operador" o nuevo operador</entry>
<entry>
<simpara>
Tópicos que contienen la frase literal "nuevo
operador" y todas sus variaciones gramaticales.
</simpara>
<simpara>
Sin las comillas, la consulta es equivalente a especificar
"nuevo AND operador,", lo que encontrará los
tópicos que contienen ambas palabras individuales, en
lugar de la frase.
</simpara>
</entry>
</row>
<row>
<entry>Expresiones comodín</entry>
<entry>esc* o HT??</entry>
<entry>
<simpara>
Los resultados del primer ejemplo incluyen los
tópicos que contengan los términos "ESC",
"escapar", "escalabilidad", y demás. El asterisco no
puede ser el único caracter en el término.
</simpara>
<simpara>
Los resultados para el segundo ejemplo incluyen los
tópicos que contengan los términos "HTTP",
"HTML" y demás. El signo de interrogación no
puede ser el único caracter en el término.
</simpara>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<note>
<para>
Seleccione el campo "Match similar words" para incluir
variaciones gramaticales menores de la frase que busca. Esta
característica solo ubica variacones de la palabra con
sufijos comunes. Por ejemplo, una búsqueda sobre la
palabra "add", encontrará "added," pero no
encontrará "additive". Esta opción es
independiente de otras opciones o sintaxis. Si realiza una
búsqueda sólo sobre títulos, las
variaciones del títulos serán consideradas. Si usa
comillas (o cualquier otro operador de consulta), puede aparecer
cualquier variación de la palabra; por ejemplo "stemmed
search" también coincidirá con "stemming search".
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.terms">
<title>Definición de términos de
búsqueda</title>
<para>
Los operadores AND, OR, NOT y NEAR le permiten definir con
precisión su búsqueda, creando una relación
entre términos de búsqueda. La siguiente tabla le
muestra cómo puede mostrar cada uno de estos operadores. Si
no se especifica un operador, se usa AND. Por ejemplo, la consulta
"servidor cgi seguridad" es equivalente a "servidor AND cgi AND
seguridad".
<table>
<title>Operadores de búsqueda</title>
<tgroup cols="3">
<thead>
<row>
<entry>Buscar por</entry>
<entry>Ejemplo</entry>
<entry>Resultados</entry>
</row>
</thead>
<tbody>
<row>
<entry>Ambos términos en el mismo tópico</entry>
<entry>http AND apache</entry>
<entry>Tópicos que contienen las palabras "http" y
"apache".</entry>
</row>
<row>
<entry>Cualquier término en un tópico</entry>
<entry>ming OR swflib</entry>
<entry>Tópicos que contienen ya sea la palabra "ming"
o la palabra "swflib", o ambas.</entry>
</row>
<row>
<entry> El primer término sin el segundo</entry>
<entry>xml NOT expat</entry>
<entry>Tópicos que contienen la palabra "xml", pero no
la palabra "expat".</entry>
</row>
<row>
<entry>Ambos términos en el mismo tópico, cerca
uno del otro</entry>
<entry>database NEAR security</entry>
<entry>Tópicos que contienen la palabra "database" a
ocho palabras de distancia de la palabra "security".</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<note>
<para>
Los caracteres |, &amp;, y ! pueden ser usados también en
lugar de OR, AND y NOT respectivamente. Puede que esto no
funcione si usa una versión antigua del visor.
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.nested">
<title>Uso de expresiones anidadas en búsquedas</title>
<para>
Las expresiones anidadas le permiten crear búsquedas de
información complejas. Por ejemplo "html AND ((smtp OR
pop3) NEAR mail)" encuentra tópicos que contienen la
palabra "html" junto con las palabras "smtp" y "mail" cercanas una
de la otra, o que contengan "html" junto con las palabras "pop3" y
"mail" cercanas entre sí.
</para>
<para>
Las reglas básicas para buscar tópicos de ayuda
usando expresiones anidadas son las siguientes:
<itemizedlist>
<listitem>
<simpara>
Puede usar paréntesis para anidar expresiones al
interior de una consulta. Las expresiones entre
paréntesis son evaluadas antes del resto de la consulta.
</simpara>
</listitem>
<listitem>
<simpara>
Si una consulta no contiene una expresión anidada,
ésta es evaluada de izquierda a derecha. Por ejemplo:
"mail NOT pop3 OR smtp" encuentra los tópicos que
contienen la palabra "mail" sin la palabra "pop3", o
tópicos que contienen la palabra "smtp". Por otra parte,
"mail NOT (pop3 OR smtp)" encuentra los tópicos que
contienen la palabra "mail" sin ninguna de las palabras "pop3"
ni "smtp".
</simpara>
</listitem>
<listitem>
<simpara>
No puede anidar expresiones con más de cinco niveles de
profundidad.
</simpara>
</listitem>
</itemizedlist>
</para>
</sect1>
<!--
<sect1 xml:id="chm.search.notes">
<title>Separación del Contenido del Manual y Notas de
Usuario</title>
<para>
El contenido del manual y las notas de usuario son separados en
<filename>php_manual_LANG.chm</filename> y
<filename>php_manual_notes.chm</filename>. Hubo varias razones
para hacer esto, incluyendo:
<itemizedlist>
<listitem>
<simpara>
De esta manera, puede actualizar las notas de usuario y el
manual independientemente, como lo necesite.
</simpara>
</listitem>
<listitem>
<simpara>
Puede tener más de un lenguaje del manual, mientras que
sólo necesita contar con un archivo de notas. Todos los
archivos CHM necesitan ubicarse en el mismo directorio, y todas
las traducciones necesitan compartir las mismas preferencias si
no desea tener más de un archivo de notas.
</simpara>
</listitem>
<listitem>
<simpara>
Puede agregar entre sus marcadores páginas del manual
con notas, o solo la parte de notas de una página por
separado.
</simpara>
</listitem>
<listitem>
<simpara>
Puede "deshabilitar" el despliegue de notas de usuario y de
resultados de búsqueda sobre notas de usuario,
simplemente al
eliminar <filename>php_manual_notes.chm</filename>, moverlo por
fuera del directorio, o renombrándolo.
</simpara>
</listitem>
</itemizedlist>
Todos estos beneficios nos llevan a ofrecer el manual en la forma
en que puede apreciar ahora. Esta distribución tuvo el
efecto sobre la búsqueda de texto completo de que los
resultados de búsquedas del contenido del manual y de las
notas del usuario son diferentes. La columna "Location" le indica
la fuente del resultado, y también le permite usar "add
precedence" sobre los resultados del contenido del manual, y
ordenarlos por "Location". Los títulos de páginas de
las notas de usuario también tienen el prefijo "N:" para
hacerlas distinguibles fácilmente en la lista de favoritos
(no hay información de ubicación en la lista de
favoritos).
</para>
</sect1>
-->
</chapter>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.search" xmlns="http://docbook.org/ns/docbook">
<title>La Búsqueda de Texto Completo</title>
<para>
Esta edición del Manual de PHP incluye una
característica avanzada de búsqueda de texto completo
ofrecida por la aplicación visora. Esto le permite a los
usuarios buscar por cada palabra en el archivo de ayuda para
encontrar una coincidencia. Por ejemplo, si un usuario realiza una
búsqueda de texto completo sobre la palabra "Apache", cada
tópico que contega la palabra "Apache" será
listado. La búsqueda de texto completo le permite a un
usuario efectuar búsquedas usando expresiones anidadas,
booleanas y comodines. Un usuario también puede limitar la
búsqueda a resultados previos, coincidencias con palabras
similares, o buscar únicamente en títulos de temas.
</para>
<para>
El uso de la característica de búsqueda es bastante
directo. Pulse sobre la solapa de búsqueda, escriba las
palabras deseadas y presione ENTER (o pulse sobre "Listar
Tópicos"). Entonces recibirá una lista de
coincidencias del Manual de PHP (y las notas). Puede usar el
botón con una flecha derecha y agregar operadores booleanos
a su búsqueda (o puede escribirlos). Como puede ver en los
resultados, puede usar las cabeceras de columna (Título,
Ubicación y Rango) para ordenar la lista de
tópicos. El orden predeterminado es por
Rank. También puede ordenar algunos parámetros al
final de la ésta solapa.
</para>
<para>
Las palabras encontradas son resaltadas en la página actual
del panel de Tópico por defecto. Puede deshabilitar
ésta característica seleccionando el item "Search
Highlight Off" en el menú de Opciones. Si está
observando un tópico largo, sólo las primeras 500
instancias de una palabra o frase de búsqueda serán
resaltadas, debido a una limitación del visor.
</para>
<sect1 xml:id="chm.search.rules">
<title>Reglas generales de búsqueda</title>
<para>
Una búsqueda básica consiste de la palabra o frase
que desea encontrar. Puede usar expresiones con comodines,
expresiones anidadas, operadores booleanos, coincidencias de
palabras similares, una lista de resultados previos, o
títulos de temas para refinar su búsqueda.
</para>
<para>
Las reglas básicas para formular consultas son las
siguientes:
<itemizedlist>
<listitem>
<simpara>
Las búsquedas no son sensibles a mayúsculas y
minúsculas, de modo que puede escribir su
búsqueda usando cualquier estilo.
</simpara>
</listitem>
<listitem>
<simpara>
Puede realizar búsquedas sobre cualquier
combinación de letras (a-z) y números (0-9). No
puede realizar búsquedas sobre letras sencillas (a, b,
c, etc.) y palabras comunes, como: un, y, como, en, pero, por,
para, tener, el, en, eso, no, de, sobre, ella, alla, esto,
nosotros, cual, con, usted.
</simpara>
</listitem>
<listitem>
<simpara>
Los signos de puntuación como el punto (.), los
dos-puntos (:), el punto-y-coma (;), la coma (,), y el
guión (-) son ignorados durante una búsqueda.
</simpara>
</listitem>
<listitem>
<simpara>
Agrupe los elementos de su búsqueda usando comillas
dobles o paréntesis para separar cada elemento. No puede
hacer búsquedas sobre signos de comillas.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
<note>
<para>
Si está buscando por un nombre de archivo con una
extensión, debe agrupar la cadena completa en comillas
dobles, ("nombre_archivo.ext"). De otra forma, el punto
separará el nombre de archivo en dos términos
diferentes. La operación predeterminada entre
términos es AND, de modo que creará el equivalente
lógico de "nombre_archivo AND ext".
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.words">
<title>Búsquedas sobre palabras o frases</title>
<para>
Puede realizar búsquedas sobre palabras o frases y usar
expresiones con comodines. Las expresiones con comodines le
permiten buscar por uno o más caracteres usando un signo de
interrogación o un asterisco. La siguiente tabla describe
los resultados de éstos tipos distintos de búsqueda.
<table>
<title>Búsquedas por palabra y frase</title>
<tgroup cols="3">
<thead>
<row>
<entry>Buscar por</entry>
<entry>Ejemplo</entry>
<entry>Resultados</entry>
</row>
</thead>
<tbody>
<row>
<entry>Una palabra sencilla</entry>
<entry>seleccionar</entry>
<entry>Tópicos que contienen la palabra
"seleccionar". (También encontrará sus
variaciones gramaticales, como "seleccionador" y
"selección".)</entry>
</row>
<row>
<entry>Una frase</entry>
<entry>"nuevo operador" o nuevo operador</entry>
<entry>
<simpara>
Tópicos que contienen la frase literal "nuevo
operador" y todas sus variaciones gramaticales.
</simpara>
<simpara>
Sin las comillas, la consulta es equivalente a especificar
"nuevo AND operador,", lo que encontrará los
tópicos que contienen ambas palabras individuales, en
lugar de la frase.
</simpara>
</entry>
</row>
<row>
<entry>Expresiones comodín</entry>
<entry>esc* o HT??</entry>
<entry>
<simpara>
Los resultados del primer ejemplo incluyen los
tópicos que contengan los términos "ESC",
"escapar", "escalabilidad", y demás. El asterisco no
puede ser el único caracter en el término.
</simpara>
<simpara>
Los resultados para el segundo ejemplo incluyen los
tópicos que contengan los términos "HTTP",
"HTML" y demás. El signo de interrogación no
puede ser el único caracter en el término.
</simpara>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<note>
<para>
Seleccione el campo "Match similar words" para incluir
variaciones gramaticales menores de la frase que busca. Esta
característica solo ubica variacones de la palabra con
sufijos comunes. Por ejemplo, una búsqueda sobre la
palabra "add", encontrará "added," pero no
encontrará "additive". Esta opción es
independiente de otras opciones o sintaxis. Si realiza una
búsqueda sólo sobre títulos, las
variaciones del títulos serán consideradas. Si usa
comillas (o cualquier otro operador de consulta), puede aparecer
cualquier variación de la palabra; por ejemplo "stemmed
search" también coincidirá con "stemming search".
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.terms">
<title>Definición de términos de
búsqueda</title>
<para>
Los operadores AND, OR, NOT y NEAR le permiten definir con
precisión su búsqueda, creando una relación
entre términos de búsqueda. La siguiente tabla le
muestra cómo puede mostrar cada uno de estos operadores. Si
no se especifica un operador, se usa AND. Por ejemplo, la consulta
"servidor cgi seguridad" es equivalente a "servidor AND cgi AND
seguridad".
<table>
<title>Operadores de búsqueda</title>
<tgroup cols="3">
<thead>
<row>
<entry>Buscar por</entry>
<entry>Ejemplo</entry>
<entry>Resultados</entry>
</row>
</thead>
<tbody>
<row>
<entry>Ambos términos en el mismo tópico</entry>
<entry>http AND apache</entry>
<entry>Tópicos que contienen las palabras "http" y
"apache".</entry>
</row>
<row>
<entry>Cualquier término en un tópico</entry>
<entry>ming OR swflib</entry>
<entry>Tópicos que contienen ya sea la palabra "ming"
o la palabra "swflib", o ambas.</entry>
</row>
<row>
<entry> El primer término sin el segundo</entry>
<entry>xml NOT expat</entry>
<entry>Tópicos que contienen la palabra "xml", pero no
la palabra "expat".</entry>
</row>
<row>
<entry>Ambos términos en el mismo tópico, cerca
uno del otro</entry>
<entry>database NEAR security</entry>
<entry>Tópicos que contienen la palabra "database" a
ocho palabras de distancia de la palabra "security".</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
<note>
<para>
Los caracteres |, &amp;, y ! pueden ser usados también en
lugar de OR, AND y NOT respectivamente. Puede que esto no
funcione si usa una versión antigua del visor.
</para>
</note>
</para>
</sect1>
<sect1 xml:id="chm.search.nested">
<title>Uso de expresiones anidadas en búsquedas</title>
<para>
Las expresiones anidadas le permiten crear búsquedas de
información complejas. Por ejemplo "html AND ((smtp OR
pop3) NEAR mail)" encuentra tópicos que contienen la
palabra "html" junto con las palabras "smtp" y "mail" cercanas una
de la otra, o que contengan "html" junto con las palabras "pop3" y
"mail" cercanas entre sí.
</para>
<para>
Las reglas básicas para buscar tópicos de ayuda
usando expresiones anidadas son las siguientes:
<itemizedlist>
<listitem>
<simpara>
Puede usar paréntesis para anidar expresiones al
interior de una consulta. Las expresiones entre
paréntesis son evaluadas antes del resto de la consulta.
</simpara>
</listitem>
<listitem>
<simpara>
Si una consulta no contiene una expresión anidada,
ésta es evaluada de izquierda a derecha. Por ejemplo:
"mail NOT pop3 OR smtp" encuentra los tópicos que
contienen la palabra "mail" sin la palabra "pop3", o
tópicos que contienen la palabra "smtp". Por otra parte,
"mail NOT (pop3 OR smtp)" encuentra los tópicos que
contienen la palabra "mail" sin ninguna de las palabras "pop3"
ni "smtp".
</simpara>
</listitem>
<listitem>
<simpara>
No puede anidar expresiones con más de cinco niveles de
profundidad.
</simpara>
</listitem>
</itemizedlist>
</para>
</sect1>
<!--
<sect1 xml:id="chm.search.notes">
<title>Separación del Contenido del Manual y Notas de
Usuario</title>
<para>
El contenido del manual y las notas de usuario son separados en
<filename>php_manual_LANG.chm</filename> y
<filename>php_manual_notes.chm</filename>. Hubo varias razones
para hacer esto, incluyendo:
<itemizedlist>
<listitem>
<simpara>
De esta manera, puede actualizar las notas de usuario y el
manual independientemente, como lo necesite.
</simpara>
</listitem>
<listitem>
<simpara>
Puede tener más de un lenguaje del manual, mientras que
sólo necesita contar con un archivo de notas. Todos los
archivos CHM necesitan ubicarse en el mismo directorio, y todas
las traducciones necesitan compartir las mismas preferencias si
no desea tener más de un archivo de notas.
</simpara>
</listitem>
<listitem>
<simpara>
Puede agregar entre sus marcadores páginas del manual
con notas, o solo la parte de notas de una página por
separado.
</simpara>
</listitem>
<listitem>
<simpara>
Puede "deshabilitar" el despliegue de notas de usuario y de
resultados de búsqueda sobre notas de usuario,
simplemente al
eliminar <filename>php_manual_notes.chm</filename>, moverlo por
fuera del directorio, o renombrándolo.
</simpara>
</listitem>
</itemizedlist>
Todos estos beneficios nos llevan a ofrecer el manual en la forma
en que puede apreciar ahora. Esta distribución tuvo el
efecto sobre la búsqueda de texto completo de que los
resultados de búsquedas del contenido del manual y de las
notas del usuario son diferentes. La columna "Location" le indica
la fuente del resultado, y también le permite usar "add
precedence" sobre los resultados del contenido del manual, y
ordenarlos por "Location". Los títulos de páginas de
las notas de usuario también tienen el prefijo "N:" para
hacerlas distinguibles fácilmente en la lista de favoritos
(no hay información de ubicación en la lista de
favoritos).
</para>
</sect1>
-->
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml

View File

@@ -1,297 +1,297 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.skins" xmlns="http://docbook.org/ns/docbook">
<title>Desarrollo de skins</title>
<para>
Esta edición del Manual de PHP le permite a los usuarios
elegir entre varios skins para desplegar los contenidos, así
como desarrollar skins personalizados para suplir ciertas
necesidades especiales. Hemos decidido ofrecer soporte de skins por
que sentimos que un solo skin no puede satisfacer las necesidades
de todos en una edición tan usada.
</para>
<para>
Incluimos dos skins por defecto al interior del CHM. éstos
no pueden ser modificados o eliminados, de modo que si tiene el
CHM, ya tiene estos dos skins en su interior. El skin Low es
optimizado para su uso en una ventana pequeña, el skin High
es una variación de Low, con la adición de algunas
gráficas para darle vida.
</para>
<para>
Un skin debe tener por lo menos dos archivos, un archivo JavaScript
de carga del skin y un archivo CSS. Ambos skins incorporados tienen
éstos archivos al interior del CHM. El archivo JS de carga
del skin debe, por lo menos, cargar el archivo CSS y desplegar los
contenidos de la página en el visor. Teóricamente,
hay dos tipos de skins: skins CSS y skins Full. Los skins CSS
modifican sólo el CSS y no alteran la presentación de
la página. Los skins Full modifican también la
presentación de la página. Hemos incluido skins de
ejemplo para ambos tipos de skins, el skin CSS y el skin Full
(<literal>"greenlinks"</literal>
y <literal>"headernostalgia"</literal> respectivamente).
</para>
<para>
<warning>
<para>
Note que, aunque los métodos de desarrollo de skins
actuales son definitivos, puede haber cambios profundos en las
clases CSS usadas o en elementos de página mientras
refinamos las ideas de desarrollo de skins. Dado que esta
edición se encuentra en la actualidad en fase de
desarrollo, la información descrita aquí no debe
ser considerada completamente estable.
</para>
</warning>
</para>
<sect1 xml:id="chm.skins.display">
<title>Proceso de Visualización de Página</title>
<para>
Si va a desarrollar su propio skin, debe saber cómo es
cargada y desplegada al usuario una página, y cómo
encaja un skin en este proceso. Para estos parágrafos, se
asume que ha colocado su archivo CHM
en <filename>c:\phpmanual</filename>, de modo que sea asequible
como <filename>c:\phpmanual\php_manual_LANG.chm</filename> (en
donde LANG es el código del lenguaje), y que desea ver la
página de función de "echo", la cual
es <filename>function.echo.html</filename> al interior del archivo
CHM. Vea las <link linkend="chm.integration">secciones sobre
integración</link> para más información sobre
los contenidos CHM.
<itemizedlist>
<listitem>
<simpara>
Antes que nada, el contenido HTML es cargado
desde <filename>function.echo.html</filename> en el interior
del archivo CHM.
</simpara>
</listitem>
<listitem>
<simpara>
Al comienzo de éste archivo existe una etiqueta
HTML <literal>&lt;script&gt;</literal>, la cual carga el
archivo <filename>_script.js</filename> desde el archivo
CHM. El archivo contiene todo el código JS requerido
para continuar con el proceso. De especial importancia es que
éste código JS define varias variables (como la
ubicación del archivo CHM, o cuál es la
página actual) y varias funciones para imprimir el
menú de contexto o gestionar funciones en línea.
</simpara>
</listitem>
<listitem>
<simpara>
Finalmente, <filename>_script.js</filename> carga el archivo de
preferencias desde el exterior, del archivo CHM
(<filename>c:\phpmanual\php_manual_prefs.js</filename> en
nuestro ejemplo). Este archivo JS define las variables de
preferencia, y llama de vuelta a la
función <literal>prefHandler()</literal>, que se
encuentra definida también
en <filename>_script.js</filename>.
</simpara>
</listitem>
<listitem>
<simpara>
Aquella función carga el archivo JS de skin del modo que
dictan las preferencias. El archivo de skin JS debe cargar el
archivo CSS requerido, y definir una
función <literal>displayPage()</literal>, la cual
despliega la página al ser llamada.
</simpara>
</listitem>
<listitem>
<simpara>
El archivo HTML (<filename>function.echo.html</filename> en
este ejemplo) contiene también una llamada de
función para cargar las notas de usuario, que
simplemente coloca las notas en este archivo HTML usando DHTML
para desplegarlas como si hubiesen estado aquí antes...
</simpara>
</listitem>
<listitem>
<simpara>
El archivo HTML contiene también un atributo onload en
la etiqueta body, el cual llama a la
función <literal>displayPage()</literal> definida por el
skin para mostrarle la página al usuario. ésta es
la última función en ser llamada, debe presentar
la página en su forma completa al usuario.
</simpara>
</listitem>
</itemizedlist>
Cada acción es sincronizada al llamar de vuelta una
función en el archivo previamente cargado, cuando el
archivo JS está en memoria. La carga de notas y la carga de
JS se sincroniza sólo con el evento onload de la
página (el cual, como dice la página de
documentación de Microsoft, solo se ejecuta cuando la
página ha sido cargada completamente).
</para>
<para>
Esta cadena de cargas y llamadas de retorno puede parecer muy
complicada, pero hasta el momento ha sido la mejor manera de
lograr tantas cosas en paralelo, al mismo tiempo que se
sincronizan ciertas llamadas.
</para>
<para>
Como puede ver, su archivo JavaScript de skin es cargado por
<filename>_script.js</filename> y su
función <literal>displayPage()</literal> es llamada por el
evento onload de body.
</para>
</sect1>
<sect1 xml:id="chm.skins.elements">
<title>Elementos de Página</title>
<para>
Las páginas del Manual de PHP son todas archivos HTML con
varias etiquetas HTML en ellos, tanto para propósitos de
presentación como de división. Las páginas
HTML contienen divisiones a ser usadas para propósitos de
uso de skins y divisiones varias agregadas por las tablas XSL de
DocBook.
</para>
<para>
Una página HTML puede ser o una página de referencia
de función o de otro tipo (como una descripción de
una característica). Los skins deben prepararse para
trabajar con estos dos tipos de páginas por separado la
mayor parte del tiempo (dependiendo del diseño usado en la
práctica).
</para>
<para>
Las páginas son estructuradas usando
etiquetas <literal>&lt;div&gt;</literal> con IDs apropiados para
facilitar el trabajo de los escritores de skins. Una página
consiste de estas partes:
<itemizedlist>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageContent"&gt;&lt;/div&gt;</literal>
contiene todo el interior de la página. La etiqueta
comienza justo después
de <literal>&lt;body&gt;</literal> y termina justo antes
de <literal>&lt;/body&gt;</literal>. Esta división es
oculta por defecto, necesita mostrarla después de estar
listo con el proceso de re-escritura de la página.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageHeaders"&gt;&lt;/div&gt;</literal>
contiene las partes de la cabecera de página. Esto
incluye el título principal de sólo-texto (en una
etiqueta <literal>&lt;span
xml:id="pageTitle"&gt;&lt;/span&gt;</literal>) y las propiedades de
función, en caso de que se trate de una página de
función (contenida en <literal>&lt;span
xml:id="funcPurpose"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="funcAvail"&gt;&lt;/span&gt;</literal> y <literal>&lt;span
xml:id="funcUsage"&gt;&lt;/span&gt;</literal>). En caso de que una
de éstas tres etiquetas no se encuentre disponible, la
página actual no es una página de función.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageText"&gt;&lt;/div&gt;</literal>
contiene la mayoría de contenidos de la página,
incluyendo ejemplos, notas del manual, advertencias,
etc. También incluye los segmentos "Vea también"
por ahora, dado que aun no podemos diferenciar entre
éstas partes y el texto normal (puede que sea algo que
cambie en el futuro).
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageNotes"&gt;&lt;/div&gt;</literal>
contiene las notas de usuario (cargadas éstas desde otro
archivo HTML por JS). Contiene una cabecera, y luego una
etiqueta <literal>&lt;div&gt;</literal> sin ID para cada nota
de usuario y y spans para cada elemento de una nota de usuario
(con los IDs "email", "date" y "text" respectivamente).
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageNav"&gt;&lt;/div&gt;</literal>
contiene la tabla de navegación, que a su vez es
dividida en spans (<literal>&lt;span
xml:id="navPrev"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navPath"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navNext"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navOnline"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navThisOnline"&gt;&lt;/span&gt;</literal>
y <literal>&lt;span
xml:id="navReportBug"&gt;&lt;/span&gt;</literal>), en donde
navThisOnline y navReportBug se encuentran al interior de
navOnline.
</simpara>
</listitem>
</itemizedlist>
Si desea re-escribir la página, debe primero leer las
partes que necesita desde la página en variables JS, luego
limpiar los contenidos de pageContent (o sólo la parte que
desea re-escribir), escribir el contenido nuevo y mostrar el div
pageContent para el usuario. Si no desea hacer cambios
estructurales, puede simplemente desplegar el div pageContent y
tan sólo especificar una tabla de estilos especial en su
archivo JS de skin (vea el skin <literal>"greenlinks"</literal>
como ejemplo).
</para>
<para>
Puede encontrar un "skin Full" desarrollado para mostrarle
cómo crear skins sobre esta estructura. El nombre del skin
es <literal>"headernostalgia"</literal>. éste re-escribe la
parte de la cabecera y remueve la tabla de navegación del
pie de página.
</para>
</sect1>
<sect1 xml:id="chm.skins.css">
<title>Clases CSS</title>
<para>
En el momento, no podemos proveer documentación precisa
sobre clases CSS utilizables, dado que algunas de las clases de
estilos XSL de DocBook no son usadas y algunas clases son
adicionadas. Por favor refiérase al archivo CSS de muestra
incluido para la referencia inicial.
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.skins" xmlns="http://docbook.org/ns/docbook">
<title>Desarrollo de skins</title>
<para>
Esta edición del Manual de PHP le permite a los usuarios
elegir entre varios skins para desplegar los contenidos, así
como desarrollar skins personalizados para suplir ciertas
necesidades especiales. Hemos decidido ofrecer soporte de skins por
que sentimos que un solo skin no puede satisfacer las necesidades
de todos en una edición tan usada.
</para>
<para>
Incluimos dos skins por defecto al interior del CHM. éstos
no pueden ser modificados o eliminados, de modo que si tiene el
CHM, ya tiene estos dos skins en su interior. El skin Low es
optimizado para su uso en una ventana pequeña, el skin High
es una variación de Low, con la adición de algunas
gráficas para darle vida.
</para>
<para>
Un skin debe tener por lo menos dos archivos, un archivo JavaScript
de carga del skin y un archivo CSS. Ambos skins incorporados tienen
éstos archivos al interior del CHM. El archivo JS de carga
del skin debe, por lo menos, cargar el archivo CSS y desplegar los
contenidos de la página en el visor. Teóricamente,
hay dos tipos de skins: skins CSS y skins Full. Los skins CSS
modifican sólo el CSS y no alteran la presentación de
la página. Los skins Full modifican también la
presentación de la página. Hemos incluido skins de
ejemplo para ambos tipos de skins, el skin CSS y el skin Full
(<literal>"greenlinks"</literal>
y <literal>"headernostalgia"</literal> respectivamente).
</para>
<para>
<warning>
<para>
Note que, aunque los métodos de desarrollo de skins
actuales son definitivos, puede haber cambios profundos en las
clases CSS usadas o en elementos de página mientras
refinamos las ideas de desarrollo de skins. Dado que esta
edición se encuentra en la actualidad en fase de
desarrollo, la información descrita aquí no debe
ser considerada completamente estable.
</para>
</warning>
</para>
<sect1 xml:id="chm.skins.display">
<title>Proceso de Visualización de Página</title>
<para>
Si va a desarrollar su propio skin, debe saber cómo es
cargada y desplegada al usuario una página, y cómo
encaja un skin en este proceso. Para estos parágrafos, se
asume que ha colocado su archivo CHM
en <filename>c:\phpmanual</filename>, de modo que sea asequible
como <filename>c:\phpmanual\php_manual_LANG.chm</filename> (en
donde LANG es el código del lenguaje), y que desea ver la
página de función de "echo", la cual
es <filename>function.echo.html</filename> al interior del archivo
CHM. Vea las <link linkend="chm.integration">secciones sobre
integración</link> para más información sobre
los contenidos CHM.
<itemizedlist>
<listitem>
<simpara>
Antes que nada, el contenido HTML es cargado
desde <filename>function.echo.html</filename> en el interior
del archivo CHM.
</simpara>
</listitem>
<listitem>
<simpara>
Al comienzo de éste archivo existe una etiqueta
HTML <literal>&lt;script&gt;</literal>, la cual carga el
archivo <filename>_script.js</filename> desde el archivo
CHM. El archivo contiene todo el código JS requerido
para continuar con el proceso. De especial importancia es que
éste código JS define varias variables (como la
ubicación del archivo CHM, o cuál es la
página actual) y varias funciones para imprimir el
menú de contexto o gestionar funciones en línea.
</simpara>
</listitem>
<listitem>
<simpara>
Finalmente, <filename>_script.js</filename> carga el archivo de
preferencias desde el exterior, del archivo CHM
(<filename>c:\phpmanual\php_manual_prefs.js</filename> en
nuestro ejemplo). Este archivo JS define las variables de
preferencia, y llama de vuelta a la
función <literal>prefHandler()</literal>, que se
encuentra definida también
en <filename>_script.js</filename>.
</simpara>
</listitem>
<listitem>
<simpara>
Aquella función carga el archivo JS de skin del modo que
dictan las preferencias. El archivo de skin JS debe cargar el
archivo CSS requerido, y definir una
función <literal>displayPage()</literal>, la cual
despliega la página al ser llamada.
</simpara>
</listitem>
<listitem>
<simpara>
El archivo HTML (<filename>function.echo.html</filename> en
este ejemplo) contiene también una llamada de
función para cargar las notas de usuario, que
simplemente coloca las notas en este archivo HTML usando DHTML
para desplegarlas como si hubiesen estado aquí antes...
</simpara>
</listitem>
<listitem>
<simpara>
El archivo HTML contiene también un atributo onload en
la etiqueta body, el cual llama a la
función <literal>displayPage()</literal> definida por el
skin para mostrarle la página al usuario. ésta es
la última función en ser llamada, debe presentar
la página en su forma completa al usuario.
</simpara>
</listitem>
</itemizedlist>
Cada acción es sincronizada al llamar de vuelta una
función en el archivo previamente cargado, cuando el
archivo JS está en memoria. La carga de notas y la carga de
JS se sincroniza sólo con el evento onload de la
página (el cual, como dice la página de
documentación de Microsoft, solo se ejecuta cuando la
página ha sido cargada completamente).
</para>
<para>
Esta cadena de cargas y llamadas de retorno puede parecer muy
complicada, pero hasta el momento ha sido la mejor manera de
lograr tantas cosas en paralelo, al mismo tiempo que se
sincronizan ciertas llamadas.
</para>
<para>
Como puede ver, su archivo JavaScript de skin es cargado por
<filename>_script.js</filename> y su
función <literal>displayPage()</literal> es llamada por el
evento onload de body.
</para>
</sect1>
<sect1 xml:id="chm.skins.elements">
<title>Elementos de Página</title>
<para>
Las páginas del Manual de PHP son todas archivos HTML con
varias etiquetas HTML en ellos, tanto para propósitos de
presentación como de división. Las páginas
HTML contienen divisiones a ser usadas para propósitos de
uso de skins y divisiones varias agregadas por las tablas XSL de
DocBook.
</para>
<para>
Una página HTML puede ser o una página de referencia
de función o de otro tipo (como una descripción de
una característica). Los skins deben prepararse para
trabajar con estos dos tipos de páginas por separado la
mayor parte del tiempo (dependiendo del diseño usado en la
práctica).
</para>
<para>
Las páginas son estructuradas usando
etiquetas <literal>&lt;div&gt;</literal> con IDs apropiados para
facilitar el trabajo de los escritores de skins. Una página
consiste de estas partes:
<itemizedlist>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageContent"&gt;&lt;/div&gt;</literal>
contiene todo el interior de la página. La etiqueta
comienza justo después
de <literal>&lt;body&gt;</literal> y termina justo antes
de <literal>&lt;/body&gt;</literal>. Esta división es
oculta por defecto, necesita mostrarla después de estar
listo con el proceso de re-escritura de la página.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageHeaders"&gt;&lt;/div&gt;</literal>
contiene las partes de la cabecera de página. Esto
incluye el título principal de sólo-texto (en una
etiqueta <literal>&lt;span
xml:id="pageTitle"&gt;&lt;/span&gt;</literal>) y las propiedades de
función, en caso de que se trate de una página de
función (contenida en <literal>&lt;span
xml:id="funcPurpose"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="funcAvail"&gt;&lt;/span&gt;</literal> y <literal>&lt;span
xml:id="funcUsage"&gt;&lt;/span&gt;</literal>). En caso de que una
de éstas tres etiquetas no se encuentre disponible, la
página actual no es una página de función.
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageText"&gt;&lt;/div&gt;</literal>
contiene la mayoría de contenidos de la página,
incluyendo ejemplos, notas del manual, advertencias,
etc. También incluye los segmentos "Vea también"
por ahora, dado que aun no podemos diferenciar entre
éstas partes y el texto normal (puede que sea algo que
cambie en el futuro).
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageNotes"&gt;&lt;/div&gt;</literal>
contiene las notas de usuario (cargadas éstas desde otro
archivo HTML por JS). Contiene una cabecera, y luego una
etiqueta <literal>&lt;div&gt;</literal> sin ID para cada nota
de usuario y y spans para cada elemento de una nota de usuario
(con los IDs "email", "date" y "text" respectivamente).
</simpara>
</listitem>
<listitem>
<simpara>
<literal>&lt;div xml:id="pageNav"&gt;&lt;/div&gt;</literal>
contiene la tabla de navegación, que a su vez es
dividida en spans (<literal>&lt;span
xml:id="navPrev"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navPath"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navNext"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navOnline"&gt;&lt;/span&gt;</literal>, <literal>&lt;span
xml:id="navThisOnline"&gt;&lt;/span&gt;</literal>
y <literal>&lt;span
xml:id="navReportBug"&gt;&lt;/span&gt;</literal>), en donde
navThisOnline y navReportBug se encuentran al interior de
navOnline.
</simpara>
</listitem>
</itemizedlist>
Si desea re-escribir la página, debe primero leer las
partes que necesita desde la página en variables JS, luego
limpiar los contenidos de pageContent (o sólo la parte que
desea re-escribir), escribir el contenido nuevo y mostrar el div
pageContent para el usuario. Si no desea hacer cambios
estructurales, puede simplemente desplegar el div pageContent y
tan sólo especificar una tabla de estilos especial en su
archivo JS de skin (vea el skin <literal>"greenlinks"</literal>
como ejemplo).
</para>
<para>
Puede encontrar un "skin Full" desarrollado para mostrarle
cómo crear skins sobre esta estructura. El nombre del skin
es <literal>"headernostalgia"</literal>. éste re-escribe la
parte de la cabecera y remueve la tabla de navegación del
pie de página.
</para>
</sect1>
<sect1 xml:id="chm.skins.css">
<title>Clases CSS</title>
<para>
En el momento, no podemos proveer documentación precisa
sobre clases CSS utilizables, dado que algunas de las clases de
estilos XSL de DocBook no son usadas y algunas clases son
adicionadas. Por favor refiérase al archivo CSS de muestra
incluido para la referencia inicial.
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,198 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.specialities" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Particularidades de esta Edición</title>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.specialities" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Particularidades de esta Edición</title>
<para>
La Edición de Ayuda HTML de Windows del Manual de PHP
sobrepasa las capacidades de presentación e interactividad
La Edición de Ayuda HTML de Windows del Manual de PHP
sobrepasa las capacidades de presentación e interactividad
ofrecidas por otras ediciones
(incluyendo el manual en línea).
</para>
<sect1 xml:id="chm.specialities.prefs">
<title>Preferencias de Usuario</title>
<para>
La mayoría de características interactivas de este
manual son ofrecidas por la aplicación visora (incluyendo
búsquedas de texto completo, índice, lista de
favoritos), pero hemos extendido esta lista con herramientas
específicas del Manual de PHP. Todas estas pueden ajustarse
a sus necesidades usando una simple aplicación de
escritorio llamada <filename>php_manual_prefs.exe</filename>. Si
ejecuta este programa, puede ver tres grupos de preferencias:
Funciones en Línea, Menú de Contexto, y Skin. Todas
sus preferencias son almacenadas
en <filename>php_manual_prefs.js</filename>.
</para>
<para>
Las funciones en línea le permiten tener elementos
conectados a sitios web. Las dos que puede apreciar en todas las
páginas del manual son "Esta página en línea"
y "Reporte un fallo". Como puede suponer, la primera le muestra la
misma página en el manual en línea, la segunda abre
una página desde <link
xlink:href="&url.php.bugs;">&url.php.bugs;</link> y llena previamente
algunos datos por usted. Necesita elegir un sitio mirror para usar
las funciones en línea "sensibles a php.net". Se recomienda
el uso de un sitio mirror cercano para obtener la mayor
rapidez. Otros componentes que pueden ser afectados por este
parámetro de funciones en línea incluyen los items
del menú de contexto que abren nuevos sitios web (por
ejemplo, "Buscar Selección en Google"). Los
diseños personalizados pueden incluir también
elementos restringidos por este parámetro.
</para>
<para>
Los parámetros del menú de contexto le permiten
elegir el menú de contexto que prefiere. Esta
aplicación le ofrece una opción para definir su
propio menú de contexto, añadiendo elementos a
éste desde un conjunto predefinido. Puede asociar este
menú de contexto personalizado con el clic derecho de su
mouse, y tener el menú original asociado con CTRL+clic
derecho, o viceversa. Existen tres tipos especiales de items de
menú de contexto personalizados:
<table>
<title>Items de menú de contexto</title>
<tgroup cols="3">
<thead>
<row>
<entry>Tipo</entry>
<entry>Ejemplos</entry>
<entry>Comentarios</entry>
</row>
</thead>
<tbody>
<row>
<entry>Salto de Página</entry>
<entry>Referencia de Funciones, índice de
Funciones</entry>
<entry>
éstos items saltan a una página
específica en el documento CHM. Sin embargo, las
opciones de Salto de Página no se encuentran
restringidas a un punto al interior del mismo
documento. Pueden apuntar a sitios web u otros recursos. Las
opciones de salto de página con un segmento de
protocolo en la URL abren una nueva ventana.
</entry>
</row>
<row>
<entry>Llamada de Función</entry>
<entry>Imprimir página, Seleccionar todo, Copiar
selección al portapapeles, Buscar Selección en
Google</entry>
<entry>
Estas son "llamadas de función" para funciones del
menú de contexto definidas internamente. Los dos
últimos ejemplos tienen la peculiaridad de que
sólo se muestran en el menú si se aplica el
clic derecho en una selección. Actualmente no hay
forma de extender el menú de contexto con las
funciones de skin definidas.
</entry>
</row>
<row>
<entry>Visualización especial</entry>
<entry>Caja de Búsqueda Google, Caja de Búsqueda
AlltheWeb</entry>
<entry>
Estos son desplegados como formularios HTML, en donde puede
buscar por palabras claves, presionar ENTER, y recibir una
ventana nueva con la búsqueda efectuada en el motor de
búsqueda apropiado. En la actualidad no hay forma de
extender el conjunto de items de menú de contexto
desplegados de forma especial.
</entry>
</row>
</tbody>
</tgroup>
</table>
Los posibles elementos del menú de contexto y sus
"implementaciones abstractas" son almacenadas
en <filename>context.ini</filename>. Usted dispone de la habilidad
de añadir posibles opciones de salto de página
allí, pero en la actualidad no hay forma de extender el
sistema de menú de contexto con funciones definidas por el
usuario (skin). Los posibles sitios mirror están listados
en <filename>mirrors.ini</filename>. Siéntase libre de
sugerirnos nuevos items del menú de contexto en
<link xlink:href="mailto:&email.php.doc.chm;">&email.php.doc.chm;</link>.
</para>
<para>
El parámetro sobre skins le permite elegir entre los dos
skins integrados por defecto, o cualquier skin definido por el
usuario. El skin Low es optimizado para su visualización
correcta en cualquier tamaño pequeño, el skin High
está optimizado para su comodidad visual. Otros skins
pueden ser desarrollados de acuerdo a nuestra <link
linkend="chm.skins">guía de desarrollo de skins</link>. El
lugar recomendado para skins en el sistema de archivos es la
sub-carpeta <filename>skins/SKINNAME</filename> del directorio del
Manual de PHP. Aunque no se requiere, algunos skins pueden definir
otras reglas (cosa no recomendable). Hemos incluido skins de
muestra para que vea ejemplos de cómo desarrollar skins
para el Manual de PHP.
</para>
<para>
Cuenta con tres botones para elegir al final. El botón
Aplicar aplica sus cambios sin salir, el botón OK aplica y
cierra la aplicación, el botón Cancelar no modifica
sus parámetros y cierra el programa.
</para>
</sect1>
<sect1 xml:id="chm.specialities.presentation">
<title>Particularidades de Presentación</title>
<para>
Esta edición del Manual de PHP está altamente
optimizada para su presentación en pantalla. Los skins
pueden ser desarrollados para un mejor soporte de
impresión, ya que éste no era el propósito de
los skins incluidos. Este enfoque nos permite hacer varias
modificaciones a la presencación de diferentes partes del
manual.
</para>
<para>
Lo primero que notará es que todos los ejemplos poseen el
código resaltado, usando la
función <function>show_source</function>. Los colores
usados en la práctia son definidos por clases CSS. Los
ejemplos también incluyen enlaces a las funciones usadas en
ellos para ofrecer acceso rápido al material de
referencia. Todos los ejemplos de código tienen un enlace
"copiar al portapapeles" al lado de ellos, con el cual puede
copiar los contenidos del texto del ejemplo en el portapapeles.
</para>
<para>
Los enlaces externos son marcados con un signo » especial, y
se abren en una nueva ventana del navegador. También
incluimos la información "ruta hacia esta página" en
todas las páginas, para que puede identificar
fácilmente en dónde se encuentra y navegar como lo
requiera.
</para>
<para>
Otras partes del manual son bastante similares a aquellas de la
edición en línea por defecto, aunque skins
personalizados pueden modificar muchos elementos en las
páginas.
</para>
</sect1>
</chapter>
(incluyendo el manual en línea).
</para>
<sect1 xml:id="chm.specialities.prefs">
<title>Preferencias de Usuario</title>
<para>
La mayoría de características interactivas de este
manual son ofrecidas por la aplicación visora (incluyendo
búsquedas de texto completo, índice, lista de
favoritos), pero hemos extendido esta lista con herramientas
específicas del Manual de PHP. Todas estas pueden ajustarse
a sus necesidades usando una simple aplicación de
escritorio llamada <filename>php_manual_prefs.exe</filename>. Si
ejecuta este programa, puede ver tres grupos de preferencias:
Funciones en Línea, Menú de Contexto, y Skin. Todas
sus preferencias son almacenadas
en <filename>php_manual_prefs.js</filename>.
</para>
<para>
Las funciones en línea le permiten tener elementos
conectados a sitios web. Las dos que puede apreciar en todas las
páginas del manual son "Esta página en línea"
y "Reporte un fallo". Como puede suponer, la primera le muestra la
misma página en el manual en línea, la segunda abre
una página desde <link
xlink:href="&url.php.bugs;">&url.php.bugs;</link> y llena previamente
algunos datos por usted. Necesita elegir un sitio mirror para usar
las funciones en línea "sensibles a php.net". Se recomienda
el uso de un sitio mirror cercano para obtener la mayor
rapidez. Otros componentes que pueden ser afectados por este
parámetro de funciones en línea incluyen los items
del menú de contexto que abren nuevos sitios web (por
ejemplo, "Buscar Selección en Google"). Los
diseños personalizados pueden incluir también
elementos restringidos por este parámetro.
</para>
<para>
Los parámetros del menú de contexto le permiten
elegir el menú de contexto que prefiere. Esta
aplicación le ofrece una opción para definir su
propio menú de contexto, añadiendo elementos a
éste desde un conjunto predefinido. Puede asociar este
menú de contexto personalizado con el clic derecho de su
mouse, y tener el menú original asociado con CTRL+clic
derecho, o viceversa. Existen tres tipos especiales de items de
menú de contexto personalizados:
<table>
<title>Items de menú de contexto</title>
<tgroup cols="3">
<thead>
<row>
<entry>Tipo</entry>
<entry>Ejemplos</entry>
<entry>Comentarios</entry>
</row>
</thead>
<tbody>
<row>
<entry>Salto de Página</entry>
<entry>Referencia de Funciones, índice de
Funciones</entry>
<entry>
éstos items saltan a una página
específica en el documento CHM. Sin embargo, las
opciones de Salto de Página no se encuentran
restringidas a un punto al interior del mismo
documento. Pueden apuntar a sitios web u otros recursos. Las
opciones de salto de página con un segmento de
protocolo en la URL abren una nueva ventana.
</entry>
</row>
<row>
<entry>Llamada de Función</entry>
<entry>Imprimir página, Seleccionar todo, Copiar
selección al portapapeles, Buscar Selección en
Google</entry>
<entry>
Estas son "llamadas de función" para funciones del
menú de contexto definidas internamente. Los dos
últimos ejemplos tienen la peculiaridad de que
sólo se muestran en el menú si se aplica el
clic derecho en una selección. Actualmente no hay
forma de extender el menú de contexto con las
funciones de skin definidas.
</entry>
</row>
<row>
<entry>Visualización especial</entry>
<entry>Caja de Búsqueda Google, Caja de Búsqueda
AlltheWeb</entry>
<entry>
Estos son desplegados como formularios HTML, en donde puede
buscar por palabras claves, presionar ENTER, y recibir una
ventana nueva con la búsqueda efectuada en el motor de
búsqueda apropiado. En la actualidad no hay forma de
extender el conjunto de items de menú de contexto
desplegados de forma especial.
</entry>
</row>
</tbody>
</tgroup>
</table>
Los posibles elementos del menú de contexto y sus
"implementaciones abstractas" son almacenadas
en <filename>context.ini</filename>. Usted dispone de la habilidad
de añadir posibles opciones de salto de página
allí, pero en la actualidad no hay forma de extender el
sistema de menú de contexto con funciones definidas por el
usuario (skin). Los posibles sitios mirror están listados
en <filename>mirrors.ini</filename>. Siéntase libre de
sugerirnos nuevos items del menú de contexto en
<link xlink:href="mailto:&email.php.doc.chm;">&email.php.doc.chm;</link>.
</para>
<para>
El parámetro sobre skins le permite elegir entre los dos
skins integrados por defecto, o cualquier skin definido por el
usuario. El skin Low es optimizado para su visualización
correcta en cualquier tamaño pequeño, el skin High
está optimizado para su comodidad visual. Otros skins
pueden ser desarrollados de acuerdo a nuestra <link
linkend="chm.skins">guía de desarrollo de skins</link>. El
lugar recomendado para skins en el sistema de archivos es la
sub-carpeta <filename>skins/SKINNAME</filename> del directorio del
Manual de PHP. Aunque no se requiere, algunos skins pueden definir
otras reglas (cosa no recomendable). Hemos incluido skins de
muestra para que vea ejemplos de cómo desarrollar skins
para el Manual de PHP.
</para>
<para>
Cuenta con tres botones para elegir al final. El botón
Aplicar aplica sus cambios sin salir, el botón OK aplica y
cierra la aplicación, el botón Cancelar no modifica
sus parámetros y cierra el programa.
</para>
</sect1>
<sect1 xml:id="chm.specialities.presentation">
<title>Particularidades de Presentación</title>
<para>
Esta edición del Manual de PHP está altamente
optimizada para su presentación en pantalla. Los skins
pueden ser desarrollados para un mejor soporte de
impresión, ya que éste no era el propósito de
los skins incluidos. Este enfoque nos permite hacer varias
modificaciones a la presencación de diferentes partes del
manual.
</para>
<para>
Lo primero que notará es que todos los ejemplos poseen el
código resaltado, usando la
función <function>show_source</function>. Los colores
usados en la práctia son definidos por clases CSS. Los
ejemplos también incluyen enlaces a las funciones usadas en
ellos para ofrecer acceso rápido al material de
referencia. Todos los ejemplos de código tienen un enlace
"copiar al portapapeles" al lado de ellos, con el cual puede
copiar los contenidos del texto del ejemplo en el portapapeles.
</para>
<para>
Los enlaces externos son marcados con un signo » especial, y
se abren en una nueva ventana del navegador. También
incluimos la información "ruta hacia esta página" en
todas las páginas, para que puede identificar
fácilmente en dónde se encuentra y navegar como lo
requiera.
</para>
<para>
Otras partes del manual son bastante similares a aquellas de la
edición en línea por defecto, aunque skins
personalizados pueden modificar muchos elementos en las
páginas.
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -212,4 +212,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
-->

View File

@@ -1,421 +1,421 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.using" xmlns="http://docbook.org/ns/docbook">
<title>Uso de la Edición CHM del Manual de PHP</title>
<para>
Cuando realiza doble-clic sobre un archivo CHM, una ventana del
Visor de Ayuda HTML es abierta con tres páneles. En el lado
izquierdo de la ventana se encuentra el panel de
Navegación. Éste contiene cuatro solapas de
navegación: las solapas de Contenido, índice,
Búsqueda y Favoritos. En el lado derecho de la ventana se
encuentra el panel de Tópico. Éste despliega el tema
de ayuda seleccionado, o el tema de ayuda predeterminado en el
arranque. Las páginas de ayuda son todas archivos HTML
separados, su instalación de Internet Explorer despliega las
páginas en el panel de Tópico. El tercer panel es la
barra de herramientas, la cual está ubicada por debajo de la
barra de título de la ventana de ayuda. Puede ajustar la
apariencia horizontal al arrastrar el borde vertical entre el panel
de Navegación y el panel de Tópico.
</para>
<para>
Note que cuando abre el documento CHM por primera vez, puede
aparecer con una posición y tamaño
extraños. Desde entonces, windows recuerda la
posición de la ventana, su tamaño y la solapa abierta
por última vez. Toda esta información, incluyendo sus
favoritos, es almacenada en un archivo
llamado <filename>hh.dat</filename>. Si mueve su archivo a otro
directorio, todas estas preferencias recordadas se perderán
(¡incluyendo su lista de favoritos!). Aunque, si reemplaza su
archivo CHM por uno nuevo, con el mismo nombre, no será un
problema. Los nombres de archivo y valores de ruta son almacenados
en <filename>hh.dat</filename>.
</para>
<sect1 xml:id="chm.using.toolbar">
<title>La Barra de Herramientas de la Ayuda HTML</title>
<para>
La Barra de Herramientas de la Ayuda HTML contiene los siguientes
íconos, cuando se encuentra consultando el Manual de PHP:
<itemizedlist>
<listitem>
<simpara>Esconder/Mostrar - Esconde/muestra el panel de
navegación.</simpara>
</listitem>
<listitem>
<simpara>
Ubicar - Ubica un tópico en la solapa de contenidos (en
caso de que haya encontrado un tópico a travÉs de
la búsqueda, el índice o los favoritos, y
quisiera ver en dónde se encuentra en la vista de
árbol de la tabla de contenidos).
</simpara>
</listitem>
<listitem>
<simpara>Atrás - Va hacia atrás en el
historial.</simpara>
</listitem>
<listitem>
<simpara>Adelante - Va hacia adelante en el historial.</simpara>
</listitem>
<listitem>
<simpara>Refrescar - Recarga la página actual.</simpara>
</listitem>
<listitem>
<simpara>Inicio - Abre la página de inicio del documento
CHM.</simpara>
</listitem>
<listitem>
<simpara>Imprimir - Abre el cuadro de diálogo de
impresión.</simpara>
</listitem>
<listitem>
<simpara>Opciones - Provee una lista con más
opciones.</simpara>
</listitem>
</itemizedlist>
El uso de esta barra de herramientas es realmente sencillo, muchos
de los íconos de la barra de herramientas están
relacionados fuertemente con sus equivalentes en Internet
Explorer.
</para>
</sect1>
<sect1 xml:id="chm.using.navpane">
<title>El Panel de Navegación</title>
<para>
El Panel de Navegación contiene cuatro solapas de
navegación: las solapas de Contenido, índice,
Búsqueda y Favoritos. Éstas proveen mÉtodos
diferentes para acceder a un tópico en el archivo de ayuda.
<itemizedlist>
<listitem>
<simpara>
La solapa de contenidos revela una tabla de contenidos en forma
de árbol, en donde puede navegar al tópico
deseado al abrir y cerrar partes del árbol. Puede
incluso acceder a las secciones más profundas usando
Ésta tabla de contenidos. Si hace clic derecho sobre un
item aquí y selecciona "Imprimir...", tendrá la
opción de imprimir el tópico seleccionado o el
tópico seleccionado junto con todos los sub-temas. Sin
embargo, la impresión no es el objetivo inicial de esta
versión del manual (la versión PDF es apropiada
para su impresión).
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de índice lista un gran número de
"palabras clave" (en realidad, títulos de páginas
del manual). Puede seleccionar una, o comenzar a escribir una
palabra clave, ver la lista ajustarse a su entrada, y luego
hacer clic sobre un tema, o presionar enter si el tema
seleccionado es el que desea consultar.
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de búsqueda muestra una de las
características más poderosas del Visor de Ayuda
HTML, la búsqueda de texto completo (tambiÉn
conocida como FTS, por sus siglas en
InglÉs). Aquí puede escribir su expresión
de búsqueda, conectando palabras opcionalmente con
AND/OR/NEAR/NOT. Antes de que haga clic sobre 'Listar temas',
tambiÉn puede definir algunas opciones en la parte
baja. Luego de que los resultados de búsqueda son
desplegados, notará que el texto del manual y los
resultados de notas de usuario son separados. Para ordenar
ambos tipos, pulse sobre la cabecera de la columna
'Ubicación'. Ahora, desde la lista de resultados de la
búsqueda, puede seleccionar un tema, y ver su
página. Las palabras que ha buscado son resaltadas en la
página.
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de favoritos le permite guardar una lista con los
temas más usados, para su fácil
acceso. Aquí puede ver la lista, agregar un tema a ella,
eliminar un tema, o desplegar un item
seleccionado. TambiÉn puede especificar su propio
título para el favorito, escribiÉndolo en el
cuadro 'Tema actual:'. Los títulos de páginas de
notas de usuario son precedidos de la cadena 'N:', de modo que
pueda distinguirlas de las páginas normales del manual
en el listado de favoritos.
</simpara>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 xml:id="chm.using.keyshorts">
<title>Combinaciones de Teclado</title>
<para>
Hay varias combinaciones de teclas que puede usar para incrementar
su productividad. Muchos usuarios encuentran más
cómodo usar Éstas combinaciones de teclado para
acceder a los temas, en lugar de hacer uso de clics.
</para>
<para>
<table>
<title>Combinaciones de Teclado Generales del Visor de
Ayuda</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Cerrar el Visor de Ayuda</entry>
<entry>ALT+F4</entry>
</row>
<row>
<entry>Mostrar el menú de Opciones </entry>
<entry>ALT+O</entry>
</row>
<row>
<entry>Esconder o mostrar el panel de
Navegación</entry>
<entry>ALT+O, y luego T</entry>
</row>
<row>
<entry>Imprimir un tema</entry>
<entry>ALT+O, y luego P</entry>
</row>
<row>
<entry>Moverse al tema anterior</entry>
<entry>ALT+FLECHA IZQUIERDA</entry>
</row>
<row>
<entry>Moverse al tema siguiente (provisto que lo ha visitado
anteriormente)</entry>
<entry>ALT+FLECHA DERECHA</entry>
</row>
<row>
<entry>Activar o desactivar el resaltado de
búsquedas.</entry>
<entry>ALT+O, y luego O</entry>
</row>
<row>
<entry>Regresar al inicio del archivo de ayuda</entry>
<entry>ALT+O, y luego H</entry>
</row>
<row>
<entry>Cambiar entre el panel de Navegación y el panel
de Tópico</entry>
<entry>F6</entry>
</row>
<row>
<entry>Desplazarse a travÉs de todos los enlaces en un
tema o a travÉs de todas las opciones en una solapa del
panel de Navegación</entry>
<entry>TAB</entry>
</row>
<row>
<entry>Mostrar el menú de contexto (clic derecho) [vea
la <link linkend="chm.specialities.prefs">sección de
Preferencias de Usuario</link>]</entry>
<entry>SHIFT+F10</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
Contenidos</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Contenidos</entry>
<entry>ALT+C</entry>
</row>
<row>
<entry>Abrir y cerrar un libro o carpeta</entry>
<entry>SIGNO MáS y SIGNO MENOS, o FLECHA IZQUIERDA y
FLECHA DERECHA</entry>
</row>
<row>
<entry>Seleccionar un tema</entry>
<entry>FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
índice</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de índice</entry>
<entry>ALT+N</entry>
</row>
<row>
<entry>Escribir una palabra clave a buscar</entry>
<entry>ALT+W, y luego escriba la palabra</entry>
</row>
<row>
<entry>Seleccionar una palabra clave en la lista</entry>
<entry>FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema asociado</entry>
<entry>ENTER o ALT+D</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
Búsqueda</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Búsqueda</entry>
<entry>ALT+S</entry>
</row>
<row>
<entry>Escribir una palabra clave a buscar</entry>
<entry>ALT+W, y luego escriba la palabra</entry>
</row>
<row>
<entry>Iniciar una búsqueda</entry>
<entry>ALT+L</entry>
</row>
<row>
<entry>Seleccioner un tema en la lista de resultados</entry>
<entry>ALT+T, y luego FLECHA HACIA ABAJO y FLECHA HACIA
ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER o ALT+D</entry>
</row>
<row>
<entry>Buscar por una palabra clave en la lista de resultados
de una búsqueda previa</entry>
<entry>ALT+U</entry>
</row>
<row>
<entry>Buscar por palabras similares a la palabra clave. Por
ejemplo para encontrar palabras como "corriendo" y "corre"
para la palabra clave "correr"</entry>
<entry>ALT+M</entry>
</row>
<row>
<entry>Buscar sólo a travÉs de los
títulos de los temas</entry>
<entry>ALT+R</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de Favoritos</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Favoritos</entry>
<entry>ALT+I</entry>
</row>
<row>
<entry>Agregar el tema mostrado actualmente a la lista de
Favoritos</entry>
<entry>ALT+A</entry>
</row>
<row>
<entry>Seleccionar un tema en la lista de Favoritos</entry>
<entry>ALT+P, y luego FLECHA HACIA ABAJO y FLECHA HACIA
ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER o ALT+D</entry>
</row>
<row>
<entry>Eliminar el tema seleccionado de la lista</entry>
<entry>ALT+R</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado del Panel de
Tópico</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Consultar en el índice</entry>
<entry>Seleccione las palabras que quiere consultar y presione
F1</entry>
</row>
<row>
<entry>Encontrar en la página</entry>
<entry>CTRL+F, y luego ajuste las opciones</entry>
</row>
<row>
<entry>Refrescar la página</entry>
<entry>F5</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
</chapter>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="chm.using" xmlns="http://docbook.org/ns/docbook">
<title>Uso de la Edición CHM del Manual de PHP</title>
<para>
Cuando realiza doble-clic sobre un archivo CHM, una ventana del
Visor de Ayuda HTML es abierta con tres páneles. En el lado
izquierdo de la ventana se encuentra el panel de
Navegación. Éste contiene cuatro solapas de
navegación: las solapas de Contenido, índice,
Búsqueda y Favoritos. En el lado derecho de la ventana se
encuentra el panel de Tópico. Éste despliega el tema
de ayuda seleccionado, o el tema de ayuda predeterminado en el
arranque. Las páginas de ayuda son todas archivos HTML
separados, su instalación de Internet Explorer despliega las
páginas en el panel de Tópico. El tercer panel es la
barra de herramientas, la cual está ubicada por debajo de la
barra de título de la ventana de ayuda. Puede ajustar la
apariencia horizontal al arrastrar el borde vertical entre el panel
de Navegación y el panel de Tópico.
</para>
<para>
Note que cuando abre el documento CHM por primera vez, puede
aparecer con una posición y tamaño
extraños. Desde entonces, windows recuerda la
posición de la ventana, su tamaño y la solapa abierta
por última vez. Toda esta información, incluyendo sus
favoritos, es almacenada en un archivo
llamado <filename>hh.dat</filename>. Si mueve su archivo a otro
directorio, todas estas preferencias recordadas se perderán
(¡incluyendo su lista de favoritos!). Aunque, si reemplaza su
archivo CHM por uno nuevo, con el mismo nombre, no será un
problema. Los nombres de archivo y valores de ruta son almacenados
en <filename>hh.dat</filename>.
</para>
<sect1 xml:id="chm.using.toolbar">
<title>La Barra de Herramientas de la Ayuda HTML</title>
<para>
La Barra de Herramientas de la Ayuda HTML contiene los siguientes
íconos, cuando se encuentra consultando el Manual de PHP:
<itemizedlist>
<listitem>
<simpara>Esconder/Mostrar - Esconde/muestra el panel de
navegación.</simpara>
</listitem>
<listitem>
<simpara>
Ubicar - Ubica un tópico en la solapa de contenidos (en
caso de que haya encontrado un tópico a travÉs de
la búsqueda, el índice o los favoritos, y
quisiera ver en dónde se encuentra en la vista de
árbol de la tabla de contenidos).
</simpara>
</listitem>
<listitem>
<simpara>Atrás - Va hacia atrás en el
historial.</simpara>
</listitem>
<listitem>
<simpara>Adelante - Va hacia adelante en el historial.</simpara>
</listitem>
<listitem>
<simpara>Refrescar - Recarga la página actual.</simpara>
</listitem>
<listitem>
<simpara>Inicio - Abre la página de inicio del documento
CHM.</simpara>
</listitem>
<listitem>
<simpara>Imprimir - Abre el cuadro de diálogo de
impresión.</simpara>
</listitem>
<listitem>
<simpara>Opciones - Provee una lista con más
opciones.</simpara>
</listitem>
</itemizedlist>
El uso de esta barra de herramientas es realmente sencillo, muchos
de los íconos de la barra de herramientas están
relacionados fuertemente con sus equivalentes en Internet
Explorer.
</para>
</sect1>
<sect1 xml:id="chm.using.navpane">
<title>El Panel de Navegación</title>
<para>
El Panel de Navegación contiene cuatro solapas de
navegación: las solapas de Contenido, índice,
Búsqueda y Favoritos. Éstas proveen mÉtodos
diferentes para acceder a un tópico en el archivo de ayuda.
<itemizedlist>
<listitem>
<simpara>
La solapa de contenidos revela una tabla de contenidos en forma
de árbol, en donde puede navegar al tópico
deseado al abrir y cerrar partes del árbol. Puede
incluso acceder a las secciones más profundas usando
Ésta tabla de contenidos. Si hace clic derecho sobre un
item aquí y selecciona "Imprimir...", tendrá la
opción de imprimir el tópico seleccionado o el
tópico seleccionado junto con todos los sub-temas. Sin
embargo, la impresión no es el objetivo inicial de esta
versión del manual (la versión PDF es apropiada
para su impresión).
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de índice lista un gran número de
"palabras clave" (en realidad, títulos de páginas
del manual). Puede seleccionar una, o comenzar a escribir una
palabra clave, ver la lista ajustarse a su entrada, y luego
hacer clic sobre un tema, o presionar enter si el tema
seleccionado es el que desea consultar.
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de búsqueda muestra una de las
características más poderosas del Visor de Ayuda
HTML, la búsqueda de texto completo (tambiÉn
conocida como FTS, por sus siglas en
InglÉs). Aquí puede escribir su expresión
de búsqueda, conectando palabras opcionalmente con
AND/OR/NEAR/NOT. Antes de que haga clic sobre 'Listar temas',
tambiÉn puede definir algunas opciones en la parte
baja. Luego de que los resultados de búsqueda son
desplegados, notará que el texto del manual y los
resultados de notas de usuario son separados. Para ordenar
ambos tipos, pulse sobre la cabecera de la columna
'Ubicación'. Ahora, desde la lista de resultados de la
búsqueda, puede seleccionar un tema, y ver su
página. Las palabras que ha buscado son resaltadas en la
página.
</simpara>
</listitem>
<listitem>
<simpara>
La solapa de favoritos le permite guardar una lista con los
temas más usados, para su fácil
acceso. Aquí puede ver la lista, agregar un tema a ella,
eliminar un tema, o desplegar un item
seleccionado. TambiÉn puede especificar su propio
título para el favorito, escribiÉndolo en el
cuadro 'Tema actual:'. Los títulos de páginas de
notas de usuario son precedidos de la cadena 'N:', de modo que
pueda distinguirlas de las páginas normales del manual
en el listado de favoritos.
</simpara>
</listitem>
</itemizedlist>
</para>
</sect1>
<sect1 xml:id="chm.using.keyshorts">
<title>Combinaciones de Teclado</title>
<para>
Hay varias combinaciones de teclas que puede usar para incrementar
su productividad. Muchos usuarios encuentran más
cómodo usar Éstas combinaciones de teclado para
acceder a los temas, en lugar de hacer uso de clics.
</para>
<para>
<table>
<title>Combinaciones de Teclado Generales del Visor de
Ayuda</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Cerrar el Visor de Ayuda</entry>
<entry>ALT+F4</entry>
</row>
<row>
<entry>Mostrar el menú de Opciones </entry>
<entry>ALT+O</entry>
</row>
<row>
<entry>Esconder o mostrar el panel de
Navegación</entry>
<entry>ALT+O, y luego T</entry>
</row>
<row>
<entry>Imprimir un tema</entry>
<entry>ALT+O, y luego P</entry>
</row>
<row>
<entry>Moverse al tema anterior</entry>
<entry>ALT+FLECHA IZQUIERDA</entry>
</row>
<row>
<entry>Moverse al tema siguiente (provisto que lo ha visitado
anteriormente)</entry>
<entry>ALT+FLECHA DERECHA</entry>
</row>
<row>
<entry>Activar o desactivar el resaltado de
búsquedas.</entry>
<entry>ALT+O, y luego O</entry>
</row>
<row>
<entry>Regresar al inicio del archivo de ayuda</entry>
<entry>ALT+O, y luego H</entry>
</row>
<row>
<entry>Cambiar entre el panel de Navegación y el panel
de Tópico</entry>
<entry>F6</entry>
</row>
<row>
<entry>Desplazarse a travÉs de todos los enlaces en un
tema o a travÉs de todas las opciones en una solapa del
panel de Navegación</entry>
<entry>TAB</entry>
</row>
<row>
<entry>Mostrar el menú de contexto (clic derecho) [vea
la <link linkend="chm.specialities.prefs">sección de
Preferencias de Usuario</link>]</entry>
<entry>SHIFT+F10</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
Contenidos</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Contenidos</entry>
<entry>ALT+C</entry>
</row>
<row>
<entry>Abrir y cerrar un libro o carpeta</entry>
<entry>SIGNO MáS y SIGNO MENOS, o FLECHA IZQUIERDA y
FLECHA DERECHA</entry>
</row>
<row>
<entry>Seleccionar un tema</entry>
<entry>FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
índice</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de índice</entry>
<entry>ALT+N</entry>
</row>
<row>
<entry>Escribir una palabra clave a buscar</entry>
<entry>ALT+W, y luego escriba la palabra</entry>
</row>
<row>
<entry>Seleccionar una palabra clave en la lista</entry>
<entry>FLECHA HACIA ABAJO y FLECHA HACIA ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema asociado</entry>
<entry>ENTER o ALT+D</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de
Búsqueda</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Búsqueda</entry>
<entry>ALT+S</entry>
</row>
<row>
<entry>Escribir una palabra clave a buscar</entry>
<entry>ALT+W, y luego escriba la palabra</entry>
</row>
<row>
<entry>Iniciar una búsqueda</entry>
<entry>ALT+L</entry>
</row>
<row>
<entry>Seleccioner un tema en la lista de resultados</entry>
<entry>ALT+T, y luego FLECHA HACIA ABAJO y FLECHA HACIA
ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER o ALT+D</entry>
</row>
<row>
<entry>Buscar por una palabra clave en la lista de resultados
de una búsqueda previa</entry>
<entry>ALT+U</entry>
</row>
<row>
<entry>Buscar por palabras similares a la palabra clave. Por
ejemplo para encontrar palabras como "corriendo" y "corre"
para la palabra clave "correr"</entry>
<entry>ALT+M</entry>
</row>
<row>
<entry>Buscar sólo a travÉs de los
títulos de los temas</entry>
<entry>ALT+R</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado de la Solapa de Favoritos</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Mostrar la solapa de Favoritos</entry>
<entry>ALT+I</entry>
</row>
<row>
<entry>Agregar el tema mostrado actualmente a la lista de
Favoritos</entry>
<entry>ALT+A</entry>
</row>
<row>
<entry>Seleccionar un tema en la lista de Favoritos</entry>
<entry>ALT+P, y luego FLECHA HACIA ABAJO y FLECHA HACIA
ARRIBA</entry>
</row>
<row>
<entry>Mostrar el tema seleccionado</entry>
<entry>ENTER o ALT+D</entry>
</row>
<row>
<entry>Eliminar el tema seleccionado de la lista</entry>
<entry>ALT+R</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Combinaciones de Teclado del Panel de
Tópico</title>
<tgroup cols="2">
<thead>
<row>
<entry>Para</entry>
<entry>Presione</entry>
</row>
</thead>
<tbody>
<row>
<entry>Consultar en el índice</entry>
<entry>Seleccione las palabras que quiere consultar y presione
F1</entry>
</row>
<row>
<entry>Encontrar en la página</entry>
<entry>CTRL+F, y luego ajuste las opciones</entry>
</row>
<row>
<entry>Refrescar la página</entry>
<entry>F5</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
@@ -435,4 +435,4 @@ End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
-->

View File

@@ -1,230 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="faq.misc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Preguntas Varias</title>
<titleabbrev>Preguntas Varias</titleabbrev>
<para>
Puede que existan algunas preguntas que no podemos colocar en otras
categorías. Este es el lugar en donde puede encontrarlas.
</para>
<qandaset>
<qandaentry xml:id="faq.misc.bz2">
<question>
<para>
¿Cómo puedo manipular los manuales comprimidos mediante bz2 en
Windows?
</para>
</question>
<answer>
<para>
Si no cuenta con una herramienta de archivación que pueda manejar
archivos bz2, <link xlink:href="&url.bzip2;">descargue</link> la
herramienta de línea de comandos de RedHat (por favor refiérase a la
inforamción presentada más adelante).
</para>
<para>
Si no desea usar una herramienta de línea de comandos, puede probar
herramientas gratuitas como <link xlink:href="&url.stuffit;">Stuffit
Expander</link>, <link xlink:href="&url.ultimatezip;">UltimateZip</link>,
<link xlink:href="&url.7zip;">7-Zip</link>, o <link
xlink:href="&url.quickzip;">Quick Zip</link>. Si dispone de herramientas
como <link xlink:href="&url.winrar;">WinRAR</link> o <link
xlink:href="&url.powerarchiver;">Power Archiver</link>, puede descomprimir
fácilmente archivos bz2 con ellas. Si usa Total Commander
(anteriormente Windows Commander), un módulo adicional para ese
programa se encuentra disponible de forma gratuita desde el sitio de
<link xlink:href="&url.wincmd;">Total Commander</link>.
</para>
<para>
La herramienta bzip2 de línea de comandos por Redhat:
</para>
<para>
Los usuarios de Win2k Sp2 deben obtener la versión más reciente,
1.0.2, todos los demás usuarios de Windows deben obtener la versión
1.00. Después de la descarga, renombre el ejecutable a bzip2.exe. Para
mayor conveniencia, colóquelo en un directorio que sea parte de sus
rutas predeterminadas, p.ej. C:\Windows, en donde C representa la
unidad en donde se encuentra su instalación de Windows.
</para>
<para>
Nota: lang representa su lenguaje, y x el formato deseado, p.ej: pdf.
Para descomprimir el archivo php_manual_lang.x.bz2 siga las siguientes
instrucciones:
<itemizedlist>
<listitem>
<simpara>abra una ventana con el intérprete de comandos</simpara>
</listitem>
<listitem>
<simpara>
cambie de directorio hacia la carpeta en donde almacenó el archivo
php_manual_lang.x.bz2 descargado
</simpara>
</listitem>
<listitem>
<simpara>
invoque bzip2 -d php_manual_lang.x.bz2, extrayendo de este modo
php_manual_lang.x en la misma carpeta
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
En caso de que haya descargado el archivo php_manual_lang.tar.bz2 con
varios archivos html en su interior, el procedimiento es el mismo. La
única diferencia es que recibe un archivo php_manual_lang.tar. Se
conoce que el formato tar es tratado por la mayoría de archivadores en
Windows, como por ejemplo <link xlink:href="&url.winzip;">WinZip</link>.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.misc.arguments.references">
<question>
<para>
¿Qué significa un signo &amp; al lado de un argumento en la
declaración de una función, como p.ej. <function>asort</function>?
</para>
</question>
<answer>
<para>
Quiere decir que el argumento es <link
linkend="language.references.pass">pasado por referencia</link> y es
probable que la función modifique el argumento de acuerdo con la
documentación. Sólo puede pasar variables de este modo y no necesita
pasarlas con el signo &amp; en la llamada de la función (tal cosa es
considerada <link
linkend="ini.allow-call-time-pass-reference">obsoleta</link>).
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.misc.registerglobals">
<question>
<para>
¿Cómo manejo el parámetro <literal>register_globals</literal>?
</para>
</question>
<answer>
<para>
Para información sobre las implicaciones de seguridad de
<literal>register_globals</literal>, lea el capítulo de seguridad
sobre el <link linkend="security.globals">Uso de
register_globals</link>.
</para>
<para>
Es recomendable usar <link
linkend="language.variables.superglobals">superglobales</link>, en
lugar de depender en la activación de
<literal>register_globals</literal>.
</para>
<para>
Si se encuentra en un servidor compartido con
<literal>register_globals</literal> desactivado y necesita usar
aplicaciones antiguas, que requieren que esta opción esté activada, o
se encuentra en algún servidor de hospedaje en donde esta
característica está habilitada, pero quisiera eliminar los riesgos de
seguridad, puede que necesite emular el valor opuesto en PHP. Siempre
es buena idea preguntar primero si es posible cambiar la opción de
alguna forma en la configuración de PHP, pero si no es posible,
entonces puede usar estos segmentos de compatibilidad.
</para>
<para>
<example>
<title>Emulación de Register Globals</title>
<para>
Esto emula el comportamiento de register_globals On. Si ha alterado
la directiva <link
linkend="ini.variables-order">variables_order</link>, considere
modificar <varname>$superglobales</varname> acordemente.
</para>
<programlisting role="php">
<![CDATA[
<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
$superglobales = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobales, $_SESSION);
}
foreach ($superglobales as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
?>
]]>
</programlisting>
<para>
Esto emula register_globals Off. Tenga en cuenta que este código
debe ser llamado al comienzo absoluto de su script, o después de
<function>session_start</function>, si usa esa función para comenzar
su sesión.
</para>
<programlisting role="php">
<![CDATA[
<?php
// Emular register_globals off
function retirar_registros_GLOBALS()
{
if (!ini_get('register_globals')) {
return;
}
// Puede que desee cambiar esto por un error más amigable
if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
die('Se ha detectado un intento de sobreescritura en GLOBALS');
}
// Variables que no deben ser eliminadas
$noEliminar = array('GLOBALS', '_GET',
'_POST', '_COOKIE',
'_REQUEST', '_SERVER',
'_ENV', '_FILES');
$entrada = array_merge($_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV, $_FILES,
isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
foreach ($entrada as $c => $v) {
if (!in_array($c, $noEliminar) && isset($GLOBALS[$c])) {
unset($GLOBALS[$c]);
}
}
}
retirar_registros_GLOBALS();
?>
]]>
</programlisting>
</example>
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: lboshell Status: ready -->
<chapter xml:id="faq.misc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Preguntas Varias</title>
<titleabbrev>Preguntas Varias</titleabbrev>
<para>
Puede que existan algunas preguntas que no podemos colocar en otras
categorías. Este es el lugar en donde puede encontrarlas.
</para>
<qandaset>
<qandaentry xml:id="faq.misc.bz2">
<question>
<para>
¿Cómo puedo manipular los manuales comprimidos mediante bz2 en
Windows?
</para>
</question>
<answer>
<para>
Si no cuenta con una herramienta de archivación que pueda manejar
archivos bz2, <link xlink:href="&url.bzip2;">descargue</link> la
herramienta de línea de comandos de RedHat (por favor refiérase a la
inforamción presentada más adelante).
</para>
<para>
Si no desea usar una herramienta de línea de comandos, puede probar
herramientas gratuitas como <link xlink:href="&url.stuffit;">Stuffit
Expander</link>, <link xlink:href="&url.ultimatezip;">UltimateZip</link>,
<link xlink:href="&url.7zip;">7-Zip</link>, o <link
xlink:href="&url.quickzip;">Quick Zip</link>. Si dispone de herramientas
como <link xlink:href="&url.winrar;">WinRAR</link> o <link
xlink:href="&url.powerarchiver;">Power Archiver</link>, puede descomprimir
fácilmente archivos bz2 con ellas. Si usa Total Commander
(anteriormente Windows Commander), un módulo adicional para ese
programa se encuentra disponible de forma gratuita desde el sitio de
<link xlink:href="&url.wincmd;">Total Commander</link>.
</para>
<para>
La herramienta bzip2 de línea de comandos por Redhat:
</para>
<para>
Los usuarios de Win2k Sp2 deben obtener la versión más reciente,
1.0.2, todos los demás usuarios de Windows deben obtener la versión
1.00. Después de la descarga, renombre el ejecutable a bzip2.exe. Para
mayor conveniencia, colóquelo en un directorio que sea parte de sus
rutas predeterminadas, p.ej. C:\Windows, en donde C representa la
unidad en donde se encuentra su instalación de Windows.
</para>
<para>
Nota: lang representa su lenguaje, y x el formato deseado, p.ej: pdf.
Para descomprimir el archivo php_manual_lang.x.bz2 siga las siguientes
instrucciones:
<itemizedlist>
<listitem>
<simpara>abra una ventana con el intérprete de comandos</simpara>
</listitem>
<listitem>
<simpara>
cambie de directorio hacia la carpeta en donde almacenó el archivo
php_manual_lang.x.bz2 descargado
</simpara>
</listitem>
<listitem>
<simpara>
invoque bzip2 -d php_manual_lang.x.bz2, extrayendo de este modo
php_manual_lang.x en la misma carpeta
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
En caso de que haya descargado el archivo php_manual_lang.tar.bz2 con
varios archivos html en su interior, el procedimiento es el mismo. La
única diferencia es que recibe un archivo php_manual_lang.tar. Se
conoce que el formato tar es tratado por la mayoría de archivadores en
Windows, como por ejemplo <link xlink:href="&url.winzip;">WinZip</link>.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.misc.arguments.references">
<question>
<para>
¿Qué significa un signo &amp; al lado de un argumento en la
declaración de una función, como p.ej. <function>asort</function>?
</para>
</question>
<answer>
<para>
Quiere decir que el argumento es <link
linkend="language.references.pass">pasado por referencia</link> y es
probable que la función modifique el argumento de acuerdo con la
documentación. Sólo puede pasar variables de este modo y no necesita
pasarlas con el signo &amp; en la llamada de la función (tal cosa es
considerada <link
linkend="ini.allow-call-time-pass-reference">obsoleta</link>).
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.misc.registerglobals">
<question>
<para>
¿Cómo manejo el parámetro <literal>register_globals</literal>?
</para>
</question>
<answer>
<para>
Para información sobre las implicaciones de seguridad de
<literal>register_globals</literal>, lea el capítulo de seguridad
sobre el <link linkend="security.globals">Uso de
register_globals</link>.
</para>
<para>
Es recomendable usar <link
linkend="language.variables.superglobals">superglobales</link>, en
lugar de depender en la activación de
<literal>register_globals</literal>.
</para>
<para>
Si se encuentra en un servidor compartido con
<literal>register_globals</literal> desactivado y necesita usar
aplicaciones antiguas, que requieren que esta opción esté activada, o
se encuentra en algún servidor de hospedaje en donde esta
característica está habilitada, pero quisiera eliminar los riesgos de
seguridad, puede que necesite emular el valor opuesto en PHP. Siempre
es buena idea preguntar primero si es posible cambiar la opción de
alguna forma en la configuración de PHP, pero si no es posible,
entonces puede usar estos segmentos de compatibilidad.
</para>
<para>
<example>
<title>Emulación de Register Globals</title>
<para>
Esto emula el comportamiento de register_globals On. Si ha alterado
la directiva <link
linkend="ini.variables-order">variables_order</link>, considere
modificar <varname>$superglobales</varname> acordemente.
</para>
<programlisting role="php">
<![CDATA[
<?php
// Emular register_globals on
if (!ini_get('register_globals')) {
$superglobales = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobales, $_SESSION);
}
foreach ($superglobales as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
?>
]]>
</programlisting>
<para>
Esto emula register_globals Off. Tenga en cuenta que este código
debe ser llamado al comienzo absoluto de su script, o después de
<function>session_start</function>, si usa esa función para comenzar
su sesión.
</para>
<programlisting role="php">
<![CDATA[
<?php
// Emular register_globals off
function retirar_registros_GLOBALS()
{
if (!ini_get('register_globals')) {
return;
}
// Puede que desee cambiar esto por un error más amigable
if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
die('Se ha detectado un intento de sobreescritura en GLOBALS');
}
// Variables que no deben ser eliminadas
$noEliminar = array('GLOBALS', '_GET',
'_POST', '_COOKIE',
'_REQUEST', '_SERVER',
'_ENV', '_FILES');
$entrada = array_merge($_GET, $_POST,
$_COOKIE, $_SERVER,
$_ENV, $_FILES,
isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());
foreach ($entrada as $c => $v) {
if (!in_array($c, $noEliminar) && isset($GLOBALS[$c])) {
unset($GLOBALS[$c]);
}
}
}
retirar_registros_GLOBALS();
?>
]]>
</programlisting>
</example>
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 2fd3f0c96d9d221fe37109775af4df4cf949d5d8 Maintainer: seros Status: ready -->
<chapter xml:id="internals2.streams" xmlns="http://docbook.org/ns/docbook">
<title>Trabajar con flujos</title>
<para>
<note>
<para>
Se puede encontrar información sobre el uso de flujos dentro de código fuente de PHP en la
<link linkend="internals2.ze1.streams">referencia de la API de Flujos para Autores de Extensiones de PHP</link>.
</para>
</note>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 2fd3f0c96d9d221fe37109775af4df4cf949d5d8 Maintainer: seros Status: ready -->
<chapter xml:id="internals2.streams" xmlns="http://docbook.org/ns/docbook">
<title>Trabajar con flujos</title>
<para>
<note>
<para>
Se puede encontrar información sobre el uso de flujos dentro de código fuente de PHP en la
<link linkend="internals2.ze1.streams">referencia de la API de Flujos para Autores de Extensiones de PHP</link>.
</para>
</note>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

File diff suppressed because it is too large Load Diff

View File

@@ -1,173 +1,173 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.constants" xmlns="http://docbook.org/ns/docbook">
<title>Opciones de apertura de flujos</title>
<para>
Estas constantes afectan a la operación de funciones de flujos de fábrica.
<variablelist>
<varlistentry>
<term>
<constant>IGNORE_PATH</constant>
</term>
<listitem>
<simpara>
Esta es la opción predeterminada para los flujos; solicita que no se va a buscar
en include_path el archivo pedido.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>USE_PATH</constant>
</term>
<listitem>
<simpara>
Solicita que el archivo pedido se va a buscar en include_path.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>IGNORE_URL</constant>
</term>
<listitem>
<simpara>
Solicita que las envolturas de URL registradas van a ser ignoradas cuando se abra el
flujo. Las envolturas distintas de URL se tomarán en consideración cuando
se decodifique la ruta. No hay una bandera opuesta a esta; la API de
flujos usará todas las envolturas registradas por omisión.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>IGNORE_URL_WIN</constant>
</term>
<listitem>
<simpara>
Es sistemas Windows esto es equivalente a IGNORE_URL.
En los demás sistemas esta bandera no tiene efecto.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>ENFORCE_SAFE_MODE</constant>
</term>
<listitem>
<simpara>
Solicita que la implementación de flujo subyacente realice una comprobación de
safe_mode en el archivo antes de abrirlo. Si se omite esta bandera se saltará
la comprobación de safe_mode y permitirá la apertura de cualquier archivo que el proceso de PHP
tenga derecho a acceder.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>REPORT_ERRORS</constant>
</term>
<listitem>
<simpara>
Si esta bandera está establecida y hubo un error durante la apertura del archivo
o URL, la API de flujos llamará a la función php_error por usted. Esto
es útil porque la ruta puede contener información sobre nombre de usuario/contraseña
que no debería ser mostrada en la salida del navegador (sería un
riesgo de seguridad hacerlo). Cuando la API de flujos provoca el error, primero
elimina la información sobre el nombre de usuario/contraseña de la ruta, haciendo que el
mensaje de error sea seguro para mostrarlo en el navegador.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>STREAM_MUST_SEEK</constant>
</term>
<listitem>
<simpara>
Esta bandera es útil cuando su extensión realmente debe ser capaz de buscar
aleatoriamente en un flujo. Algunos flujos pueden no ser "buscables" en
su forma nativa, por lo que esta bandera pregunta a la API de flujos para verificar si el
flujo soporta la búsqueda. Si no la soporta, copiará el flujo
a un lugar temporalmente (que puede ser un archivo temporal o un flujo
de memoria) que soporta búsquedas.
Por favor, observe que esta bandera no es útil cuando se quiere buscar el
flujo y escribir en él, ya que el flujo al que se está accediendo no debería
estar limitado al recurso real que se registró.
</simpara>
<note>
<simpara>
Si el recurso solicitado está basado en una red, esta bandera causará que
el abridor bloquee hasta que el contenido completo haya sido descargado.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>STREAM_WILL_CAST</constant>
</term>
<listitem>
<simpara>
Si su extensión está usando una biblioteca de terceros que supone un FILE* o
descriptor de archivo, se puede usar esta bandera para solicitar a la API de flujos que
abra el recurso pero que evite almacenarlo en el buffer. Entonces se puede usar
<function>php_stream_cast</function> para recuperar el FILE* o
descriptor de archivo que la biblioteca necesita.
</simpara>
<simpara>
Esto es particularmente útil cuando se accede a URLs de HTTP donde el inicio
de la información del flujo real se encuentra despuiés de un índice indeterminado dentro
del flujo.
</simpara>
<simpara>
Ya que esta opción deshabilita el uso del buffer al nivel de la API de flujos, se
puede experimentar una bajada de rendimiento cuando se usan funciones de flujos
sobre el flujo; esto es aceptable ya que se le tiene que indicar
a los flujos que se usarán las funciones para comparar al implementación
del flujo subyacente.
Sólo use esta opción cuando esté seguro de que la necesita.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.constants" xmlns="http://docbook.org/ns/docbook">
<title>Opciones de apertura de flujos</title>
<para>
Estas constantes afectan a la operación de funciones de flujos de fábrica.
<variablelist>
<varlistentry>
<term>
<constant>IGNORE_PATH</constant>
</term>
<listitem>
<simpara>
Esta es la opción predeterminada para los flujos; solicita que no se va a buscar
en include_path el archivo pedido.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>USE_PATH</constant>
</term>
<listitem>
<simpara>
Solicita que el archivo pedido se va a buscar en include_path.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>IGNORE_URL</constant>
</term>
<listitem>
<simpara>
Solicita que las envolturas de URL registradas van a ser ignoradas cuando se abra el
flujo. Las envolturas distintas de URL se tomarán en consideración cuando
se decodifique la ruta. No hay una bandera opuesta a esta; la API de
flujos usará todas las envolturas registradas por omisión.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>IGNORE_URL_WIN</constant>
</term>
<listitem>
<simpara>
Es sistemas Windows esto es equivalente a IGNORE_URL.
En los demás sistemas esta bandera no tiene efecto.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>ENFORCE_SAFE_MODE</constant>
</term>
<listitem>
<simpara>
Solicita que la implementación de flujo subyacente realice una comprobación de
safe_mode en el archivo antes de abrirlo. Si se omite esta bandera se saltará
la comprobación de safe_mode y permitirá la apertura de cualquier archivo que el proceso de PHP
tenga derecho a acceder.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>REPORT_ERRORS</constant>
</term>
<listitem>
<simpara>
Si esta bandera está establecida y hubo un error durante la apertura del archivo
o URL, la API de flujos llamará a la función php_error por usted. Esto
es útil porque la ruta puede contener información sobre nombre de usuario/contraseña
que no debería ser mostrada en la salida del navegador (sería un
riesgo de seguridad hacerlo). Cuando la API de flujos provoca el error, primero
elimina la información sobre el nombre de usuario/contraseña de la ruta, haciendo que el
mensaje de error sea seguro para mostrarlo en el navegador.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>STREAM_MUST_SEEK</constant>
</term>
<listitem>
<simpara>
Esta bandera es útil cuando su extensión realmente debe ser capaz de buscar
aleatoriamente en un flujo. Algunos flujos pueden no ser "buscables" en
su forma nativa, por lo que esta bandera pregunta a la API de flujos para verificar si el
flujo soporta la búsqueda. Si no la soporta, copiará el flujo
a un lugar temporalmente (que puede ser un archivo temporal o un flujo
de memoria) que soporta búsquedas.
Por favor, observe que esta bandera no es útil cuando se quiere buscar el
flujo y escribir en él, ya que el flujo al que se está accediendo no debería
estar limitado al recurso real que se registró.
</simpara>
<note>
<simpara>
Si el recurso solicitado está basado en una red, esta bandera causará que
el abridor bloquee hasta que el contenido completo haya sido descargado.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>
<constant>STREAM_WILL_CAST</constant>
</term>
<listitem>
<simpara>
Si su extensión está usando una biblioteca de terceros que supone un FILE* o
descriptor de archivo, se puede usar esta bandera para solicitar a la API de flujos que
abra el recurso pero que evite almacenarlo en el buffer. Entonces se puede usar
<function>php_stream_cast</function> para recuperar el FILE* o
descriptor de archivo que la biblioteca necesita.
</simpara>
<simpara>
Esto es particularmente útil cuando se accede a URLs de HTTP donde el inicio
de la información del flujo real se encuentra despuiés de un índice indeterminado dentro
del flujo.
</simpara>
<simpara>
Ya que esta opción deshabilita el uso del buffer al nivel de la API de flujos, se
puede experimentar una bajada de rendimiento cuando se usan funciones de flujos
sobre el flujo; esto es aceptable ya que se le tiene que indicar
a los flujos que se usarán las funciones para comparar al implementación
del flujo subyacente.
Sólo use esta opción cuando esté seguro de que la necesita.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,122 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.dir-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams Dir API Reference</title>
<para>
The functions listed in this section work on local files, as well as remote files
(provided that the wrapper supports this functionality!).
</para>
<refentry xml:id="internals2.ze1.streams.php-stream-opendir">
<refnamediv>
<refname>php_stream_opendir</refname>
<refpurpose>Open a directory for file enumeration</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_opendir</methodname>
<methodparam><type>char *</type><parameter>path</parameter></methodparam>
<methodparam><type>php_stream_context *</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_opendir</function> returns a stream that can be used to list the
files that are contained in the directory specified by <parameter>path</parameter>.
This function is functionally equivalent to POSIX <function>opendir</function>.
Although this function returns a php_stream object, it is not recommended to
try to use the functions from the common API on these streams.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-readdir">
<refnamediv>
<refname>php_stream_readdir</refname>
<refpurpose>Fetch the next directory entry from an opened dir</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream_dirent *</type><methodname>php_stream_readdir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
<methodparam><type>php_stream_dirent *</type><parameter>ent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_readdir</function> reads the next directory entry
from <parameter>dirstream</parameter> and stores it into <parameter>ent</parameter>.
If the function succeeds, the return value is <parameter>ent</parameter>.
If the function fails, the return value is NULL.
See <link linkend="internals2.ze1.streams.struct-php-stream-dirent">php_stream_dirent</link> for more
details about the information returned for each directory entry.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-rewinddir">
<refnamediv>
<refname>php_stream_rewinddir</refname>
<refpurpose>Rewind a directory stream to the first entry</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>php_stream_rewinddir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_rewinddir</function> rewinds a directory stream to the first entry.
Returns 0 on success, but -1 on failure.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-closedir">
<refnamediv>
<refname>php_stream_closedir</refname>
<refpurpose>Close a directory stream and release resources</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>php_stream_closedir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_closedir</function> closes a directory stream and releases
resources associated with it.
Returns 0 on success, but -1 on failure.
</para>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.dir-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams Dir API Reference</title>
<para>
The functions listed in this section work on local files, as well as remote files
(provided that the wrapper supports this functionality!).
</para>
<refentry xml:id="internals2.ze1.streams.php-stream-opendir">
<refnamediv>
<refname>php_stream_opendir</refname>
<refpurpose>Open a directory for file enumeration</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_opendir</methodname>
<methodparam><type>char *</type><parameter>path</parameter></methodparam>
<methodparam><type>php_stream_context *</type><parameter>context</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_opendir</function> returns a stream that can be used to list the
files that are contained in the directory specified by <parameter>path</parameter>.
This function is functionally equivalent to POSIX <function>opendir</function>.
Although this function returns a php_stream object, it is not recommended to
try to use the functions from the common API on these streams.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-readdir">
<refnamediv>
<refname>php_stream_readdir</refname>
<refpurpose>Fetch the next directory entry from an opened dir</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream_dirent *</type><methodname>php_stream_readdir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
<methodparam><type>php_stream_dirent *</type><parameter>ent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_readdir</function> reads the next directory entry
from <parameter>dirstream</parameter> and stores it into <parameter>ent</parameter>.
If the function succeeds, the return value is <parameter>ent</parameter>.
If the function fails, the return value is NULL.
See <link linkend="internals2.ze1.streams.struct-php-stream-dirent">php_stream_dirent</link> for more
details about the information returned for each directory entry.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-rewinddir">
<refnamediv>
<refname>php_stream_rewinddir</refname>
<refpurpose>Rewind a directory stream to the first entry</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>php_stream_rewinddir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_rewinddir</function> rewinds a directory stream to the first entry.
Returns 0 on success, but -1 on failure.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-closedir">
<refnamediv>
<refname>php_stream_closedir</refname>
<refpurpose>Close a directory stream and release resources</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>int</type><methodname>php_stream_closedir</methodname>
<methodparam><type>php_stream *</type><parameter>dirstream</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_closedir</function> closes a directory stream and releases
resources associated with it.
Returns 0 on success, but -1 on failure.
</para>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,102 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.file-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams File API Reference</title>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-from-file">
<refnamediv>
<refname>php_stream_fopen_from_file</refname>
<refpurpose>Convert an ANSI FILE* into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_from_file</methodname>
<methodparam><type>FILE *</type><parameter>file</parameter></methodparam>
<methodparam><type>char *</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_from_file</function> returns a stream based on the
<parameter>file</parameter>. <parameter>mode</parameter> must be the same
as the mode used to open <parameter>file</parameter>, otherwise strange errors
may occur when trying to write when the mode of the stream is different from the mode
on the file.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-tmpfile">
<refnamediv>
<refname>php_stream_fopen_tmpfile</refname>
<refpurpose>Open a FILE* with tmpfile() and convert into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_tmpfile</methodname>
<methodparam><type>void</type><parameter></parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_tmpfile</function> returns a stream based on a
temporary file opened with a mode of "w+b". The temporary file will be deleted
automatically when the stream is closed or the process terminates.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-temporary-file">
<refnamediv>
<refname>php_stream_fopen_temporary_file</refname>
<refpurpose>Generate a temporary file name and open a stream on it</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_temporary_file</methodname>
<methodparam><type>const char *</type><parameter>dir</parameter></methodparam>
<methodparam><type>const char *</type><parameter>pfx</parameter></methodparam>
<methodparam><type>char **</type><parameter>opened</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_temporary_file</function> generates a temporary file name
in the directory specified by <parameter>dir</parameter> and with a prefix of <parameter>pfx</parameter>.
The generated file name is returns in the <parameter>opened</parameter> parameter, which you
are responsible for cleaning up using <function>efree</function>.
A stream is opened on that generated filename in "w+b" mode.
The file is NOT automatically deleted; you are responsible for unlinking or moving the file when you have
finished with it.
</para>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.file-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams File API Reference</title>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-from-file">
<refnamediv>
<refname>php_stream_fopen_from_file</refname>
<refpurpose>Convert an ANSI FILE* into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_from_file</methodname>
<methodparam><type>FILE *</type><parameter>file</parameter></methodparam>
<methodparam><type>char *</type><parameter>mode</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_from_file</function> returns a stream based on the
<parameter>file</parameter>. <parameter>mode</parameter> must be the same
as the mode used to open <parameter>file</parameter>, otherwise strange errors
may occur when trying to write when the mode of the stream is different from the mode
on the file.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-tmpfile">
<refnamediv>
<refname>php_stream_fopen_tmpfile</refname>
<refpurpose>Open a FILE* with tmpfile() and convert into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_tmpfile</methodname>
<methodparam><type>void</type><parameter></parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_tmpfile</function> returns a stream based on a
temporary file opened with a mode of "w+b". The temporary file will be deleted
automatically when the stream is closed or the process terminates.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-fopen-temporary-file">
<refnamediv>
<refname>php_stream_fopen_temporary_file</refname>
<refpurpose>Generate a temporary file name and open a stream on it</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_fopen_temporary_file</methodname>
<methodparam><type>const char *</type><parameter>dir</parameter></methodparam>
<methodparam><type>const char *</type><parameter>pfx</parameter></methodparam>
<methodparam><type>char **</type><parameter>opened</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_fopen_temporary_file</function> generates a temporary file name
in the directory specified by <parameter>dir</parameter> and with a prefix of <parameter>pfx</parameter>.
The generated file name is returns in the <parameter>opened</parameter> parameter, which you
are responsible for cleaning up using <function>efree</function>.
A stream is opened on that generated filename in "w+b" mode.
The file is NOT automatically deleted; you are responsible for unlinking or moving the file when you have
finished with it.
</para>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,318 +1,318 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect1 xml:id="internals2.ze1.streams" xmlns="http://docbook.org/ns/docbook">
<title>API de Flujos para Autores de Extensiones de PHP</title>
<para>
<note>
<para>
Las funciones de este capítulo son para usarlas en el código fuente de PHP
y no son funciones de PHP. Se puede encontrar información sobre las funciones de flujos del entorno
de usuario en la <link linkend="book.stream">Referencia de Flujos</link>.
</para>
</note>
</para>
<sect2 xml:id="internals2.ze1.streams.overview">
<title>Visión General</title>
<para>
La API de Flujos de PHP introduce una aproximación unificada para el manejo de
archivos y sockets de extensiones de PHP. Usando una API única con funciones
estándar para operaciones comunes, la API de flujos permite a sus extensiones
acceder a archivos, sockets, URLs, memoria y objetos definidos en scripts.
Streams (Flujos) es una API extensible en tiempo de ejecución que permite la carga dinámica
de módulos (¡y scripts!) para registrar nuevos flujos.
</para>
<para>
El objetivo de la API de Flujos es hacerla confortable para desarrolladores para
abrir ficheros, URLs y otras fuentes de datos que se pueden utilizar como flujos con una API unificada
que es fácil de entender. La API está más o menos basada en la familia de funciones stdio de
ANSI C (con semántica idéntica para la mayoría de las funciones
principales), por lo que los programadores de C estarán familiarizados con los flujos.
</para>
<para>
La API de flujos opera en dos niveles diferentes: en el nivel básico,
la API define objetos php_stream para representar fuentes de datos que se pueden usar como flujos.
En un nivel ligeramente superior, la API define objetos php_stream_wrapper
que "envuelven" al nivel inferior de la API para proporcionar soporte para recuperar
información y meta-información desde URLs. Un parámetro adicional,
<literal>context</literal>, aceptado por la mayoría de las funciones de creación de flujos, es pasado
al método <literal>stream_opener</literal> de la envoltura para mejorar el comportamiento
de la envoltura.
</para>
<para>
Un flujo, una vez abierto, también puede tener cualquier número de <literal>filtros</literal>
aplicados a él, que procesan la información que es leída desde/escrita en el flujo.
</para>
<para>
Los flujos pueden ser convertidos (cast) en otros tipos de gestores de archivos, por lo que
se pueden usar con bibliotecas de terceros sin grandes dificultades. Esto permite
a estas bibliotecas acceder a la información directamente desde fuentes de URL. Si su
sistema tiene la función <function>fopencookie</function> o
<function>funopen</function>, ¡puede incluso
pasar cualquier flujo de PHP a cualquier biblioteca de use stdio de ANSI!
</para>
</sect2>
<sect2 xml:id="internals2.ze1.streams.basics">
<title>Flujos: lo básico</title>
<para>
Usar flujos es muy parecido a usar las funciones de stdio de ANSI. La principal
diferencia está en la manera en de obtiener el gestor de flujo para empezar con él.
En la mayoría de los casos se usará <function>php_stream_open_wrapper</function>
para obtener el gestor de flujo. Esta función trabaja de manera similar a fopen,
como se puede ver en el ejemplo de abajo:
</para>
<para>
<example>
<title>ejemplo sencillo de flujo que muestra la página de inicio de PHP</title>
<programlisting role="c">
<![CDATA[
php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
while(!php_stream_eof(stream)) {
char buf[1024];
if (php_stream_gets(stream, buf, sizeof(buf))) {
printf(buf);
} else {
break;
}
}
php_stream_close(stream);
}
]]>
</programlisting>
</example>
</para>
<para>
La tabla de abajo muestra la equivalencia entre Flujos y las funciones stdio de ANSI más comunes.
A menos que se anote lo contrario, la semántica de las funciones son idénticas.
<table>
<title>Funciones stdio de ANSI equivalentes en la API de Flujos</title>
<tgroup cols="3">
<thead>
<row>
<entry>Función Stdio de ANSI</entry>
<entry>Función de Flujos de PHP</entry>
<entry>Notas</entry>
</row>
</thead>
<tbody>
<row>
<entry>fopen</entry>
<entry>php_stream_open_wrapper</entry>
<entry>Los Flujos incluyen parámetros adicionales</entry>
</row>
<row>
<entry>fclose</entry>
<entry>php_stream_close</entry>
<entry></entry>
</row>
<row>
<entry>fgets</entry>
<entry>php_stream_gets</entry>
<entry></entry>
</row>
<row>
<entry>fread</entry>
<entry>php_stream_read</entry>
<entry>El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a read(2)</entry>
</row>
<row>
<entry>fwrite</entry>
<entry>php_stream_write</entry>
<entry>El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a write(2)</entry>
</row>
<row>
<entry>fseek</entry>
<entry>php_stream_seek</entry>
<entry></entry>
</row>
<row>
<entry>ftell</entry>
<entry>php_stream_tell</entry>
<entry></entry>
</row>
<row>
<entry>rewind</entry>
<entry>php_stream_rewind</entry>
<entry></entry>
</row>
<row>
<entry>feof</entry>
<entry>php_stream_eof</entry>
<entry></entry>
</row>
<row>
<entry>fgetc</entry>
<entry>php_stream_getc</entry>
<entry></entry>
</row>
<row>
<entry>fputc</entry>
<entry>php_stream_putc</entry>
<entry></entry>
</row>
<row>
<entry>fflush</entry>
<entry>php_stream_flush</entry>
<entry></entry>
</row>
<row>
<entry>puts</entry>
<entry>php_stream_puts</entry>
<entry>La misma semántica que puts, NO fputs</entry>
</row>
<row>
<entry>fstat</entry>
<entry>php_stream_stat</entry>
<entry>Los flujos tienen una estructura de estadísticas más abundante</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect2>
<sect2 xml:id="internals2.ze1.streams.resources">
<title>Flojos como Recursos</title>
<para>
Todos los flujos están registrados como recursos cuando son creados. Esto asegura
que serán limpiados de manera apropiada incluso si hubiera un error fatal.
Todas las funciones de sistema de archivos de PHP operan sobre recursos de flujos - esto
significa que sus extensiones pueden aceptar punteros a archivos de PHP habituales
como parámetros, y devovler flujos desde sus funciones.
La API de flujos realiza este proceso de la forma más sencilla posible:
</para>
<para>
<example>
<title>Cómo aceptar un flujo como parámetro</title>
<programlisting role="c">
<![CDATA[
PHP_FUNCTION(example_write_hello)
{
zval *zstream;
php_stream *stream;
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
return;
php_stream_from_zval(stream, &zstream);
/* ahora se puede usar el flujo. Sin embargo, usted no es el "propietario" del
flujo; lo es el script. Esto significa que NO DEBE cerrar el
flujo, ¡ya que causaría que PHP se colgara! */
php_stream_write(stream, "hello\n");
RETURN_TRUE();
}
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Cómo devolver un flujo desde una función</title>
<programlisting role="c">
<![CDATA[
PHP_FUNCTION(example_open_php_home_page)
{
php_stream *stream;
stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
php_stream_to_zval(stream, return_value);
/* después de este punto, el flujo es "propiedad" del script.
¡Si lo cierra ahora PHP se colgará! */
}
]]>
</programlisting>
</example>
</para>
<para>
Ya que los flujos se limpian automáticamente, es tentador pensar que podemos
zafarnos y ser unos programadores descuidados y no molestarnos en cerrar los flujos cuando
hayamos terminado con ellos. Aunque tal enfoque podría funcionar, no es una buena idea
por varias razones: los flujos permanecen bloqueados en los recursos del sistema mientras están
abiertos, por lo que dejar un archivo abierto después de que se haya terminado con él podría impedir
que otros procesos accedan al mismo. Si un script trata con un gran número de archivos,
la acumulación de recursos usados, tanto en términos de memoria como en
el número de archivos abiertos, puede causar que las peticiones al servidor web fallen. Suena
mal, ¿verdad? La API de flujos incluye algo de magia que le puede ayudar a
mantener su código limpio - si un flujo es cerrado por su código cuando debería hacerlo,
puede encontrar alguna información de depuración útil en el registro de errores de su servidor
web.
</para>
<note>
<simpara>
Use siempre uan construcción de depuración de PHP al desarrollar una extensión
(<option>--enable-debug</option> cuando se ejecute configure), ya que se ha realizado
un mucho esfuerzo para advertirle de filtraciones de memoria y flujos.
</simpara>
</note>
<para>
En algunos casos es útil mantener un flujo abierto durante una petición, para actuar
como un archivo de registro o de seguimiento, por ejemplo. Escribir código para limpiar de forma
segura un flujo no es difícil, pero requiere varias líneas de código que no son estrictamente
necesarias. Para ahorrarse el problema de escribir el código puede
marcar un flujo como OK para su autolimpieza. Esto significa que
la API de flujos no emitirá una advertencia cuando es hora de autolimpiar
un flujo. Para hacer esto puede usar <function>php_stream_auto_cleanup</function>.
</para>
</sect2>
<!-- Disable these until references are fixed
&internals2.ze1.streams.common;
&internals2.ze1.streams.dir;
&internals2.ze1.streams.file;
&internals2.ze1.streams.socket;
&internals2.ze1.streams.structs;
-->
&internals2.ze1.streams.constants;
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect1 xml:id="internals2.ze1.streams" xmlns="http://docbook.org/ns/docbook">
<title>API de Flujos para Autores de Extensiones de PHP</title>
<para>
<note>
<para>
Las funciones de este capítulo son para usarlas en el código fuente de PHP
y no son funciones de PHP. Se puede encontrar información sobre las funciones de flujos del entorno
de usuario en la <link linkend="book.stream">Referencia de Flujos</link>.
</para>
</note>
</para>
<sect2 xml:id="internals2.ze1.streams.overview">
<title>Visión General</title>
<para>
La API de Flujos de PHP introduce una aproximación unificada para el manejo de
archivos y sockets de extensiones de PHP. Usando una API única con funciones
estándar para operaciones comunes, la API de flujos permite a sus extensiones
acceder a archivos, sockets, URLs, memoria y objetos definidos en scripts.
Streams (Flujos) es una API extensible en tiempo de ejecución que permite la carga dinámica
de módulos (¡y scripts!) para registrar nuevos flujos.
</para>
<para>
El objetivo de la API de Flujos es hacerla confortable para desarrolladores para
abrir ficheros, URLs y otras fuentes de datos que se pueden utilizar como flujos con una API unificada
que es fácil de entender. La API está más o menos basada en la familia de funciones stdio de
ANSI C (con semántica idéntica para la mayoría de las funciones
principales), por lo que los programadores de C estarán familiarizados con los flujos.
</para>
<para>
La API de flujos opera en dos niveles diferentes: en el nivel básico,
la API define objetos php_stream para representar fuentes de datos que se pueden usar como flujos.
En un nivel ligeramente superior, la API define objetos php_stream_wrapper
que "envuelven" al nivel inferior de la API para proporcionar soporte para recuperar
información y meta-información desde URLs. Un parámetro adicional,
<literal>context</literal>, aceptado por la mayoría de las funciones de creación de flujos, es pasado
al método <literal>stream_opener</literal> de la envoltura para mejorar el comportamiento
de la envoltura.
</para>
<para>
Un flujo, una vez abierto, también puede tener cualquier número de <literal>filtros</literal>
aplicados a él, que procesan la información que es leída desde/escrita en el flujo.
</para>
<para>
Los flujos pueden ser convertidos (cast) en otros tipos de gestores de archivos, por lo que
se pueden usar con bibliotecas de terceros sin grandes dificultades. Esto permite
a estas bibliotecas acceder a la información directamente desde fuentes de URL. Si su
sistema tiene la función <function>fopencookie</function> o
<function>funopen</function>, ¡puede incluso
pasar cualquier flujo de PHP a cualquier biblioteca de use stdio de ANSI!
</para>
</sect2>
<sect2 xml:id="internals2.ze1.streams.basics">
<title>Flujos: lo básico</title>
<para>
Usar flujos es muy parecido a usar las funciones de stdio de ANSI. La principal
diferencia está en la manera en de obtiener el gestor de flujo para empezar con él.
En la mayoría de los casos se usará <function>php_stream_open_wrapper</function>
para obtener el gestor de flujo. Esta función trabaja de manera similar a fopen,
como se puede ver en el ejemplo de abajo:
</para>
<para>
<example>
<title>ejemplo sencillo de flujo que muestra la página de inicio de PHP</title>
<programlisting role="c">
<![CDATA[
php_stream * stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
if (stream) {
while(!php_stream_eof(stream)) {
char buf[1024];
if (php_stream_gets(stream, buf, sizeof(buf))) {
printf(buf);
} else {
break;
}
}
php_stream_close(stream);
}
]]>
</programlisting>
</example>
</para>
<para>
La tabla de abajo muestra la equivalencia entre Flujos y las funciones stdio de ANSI más comunes.
A menos que se anote lo contrario, la semántica de las funciones son idénticas.
<table>
<title>Funciones stdio de ANSI equivalentes en la API de Flujos</title>
<tgroup cols="3">
<thead>
<row>
<entry>Función Stdio de ANSI</entry>
<entry>Función de Flujos de PHP</entry>
<entry>Notas</entry>
</row>
</thead>
<tbody>
<row>
<entry>fopen</entry>
<entry>php_stream_open_wrapper</entry>
<entry>Los Flujos incluyen parámetros adicionales</entry>
</row>
<row>
<entry>fclose</entry>
<entry>php_stream_close</entry>
<entry></entry>
</row>
<row>
<entry>fgets</entry>
<entry>php_stream_gets</entry>
<entry></entry>
</row>
<row>
<entry>fread</entry>
<entry>php_stream_read</entry>
<entry>El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a read(2)</entry>
</row>
<row>
<entry>fwrite</entry>
<entry>php_stream_write</entry>
<entry>El parámetro nmemb se asume que tiene un valor de 1, por lo que el prototipo se parece más a write(2)</entry>
</row>
<row>
<entry>fseek</entry>
<entry>php_stream_seek</entry>
<entry></entry>
</row>
<row>
<entry>ftell</entry>
<entry>php_stream_tell</entry>
<entry></entry>
</row>
<row>
<entry>rewind</entry>
<entry>php_stream_rewind</entry>
<entry></entry>
</row>
<row>
<entry>feof</entry>
<entry>php_stream_eof</entry>
<entry></entry>
</row>
<row>
<entry>fgetc</entry>
<entry>php_stream_getc</entry>
<entry></entry>
</row>
<row>
<entry>fputc</entry>
<entry>php_stream_putc</entry>
<entry></entry>
</row>
<row>
<entry>fflush</entry>
<entry>php_stream_flush</entry>
<entry></entry>
</row>
<row>
<entry>puts</entry>
<entry>php_stream_puts</entry>
<entry>La misma semántica que puts, NO fputs</entry>
</row>
<row>
<entry>fstat</entry>
<entry>php_stream_stat</entry>
<entry>Los flujos tienen una estructura de estadísticas más abundante</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect2>
<sect2 xml:id="internals2.ze1.streams.resources">
<title>Flojos como Recursos</title>
<para>
Todos los flujos están registrados como recursos cuando son creados. Esto asegura
que serán limpiados de manera apropiada incluso si hubiera un error fatal.
Todas las funciones de sistema de archivos de PHP operan sobre recursos de flujos - esto
significa que sus extensiones pueden aceptar punteros a archivos de PHP habituales
como parámetros, y devovler flujos desde sus funciones.
La API de flujos realiza este proceso de la forma más sencilla posible:
</para>
<para>
<example>
<title>Cómo aceptar un flujo como parámetro</title>
<programlisting role="c">
<![CDATA[
PHP_FUNCTION(example_write_hello)
{
zval *zstream;
php_stream *stream;
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &zstream))
return;
php_stream_from_zval(stream, &zstream);
/* ahora se puede usar el flujo. Sin embargo, usted no es el "propietario" del
flujo; lo es el script. Esto significa que NO DEBE cerrar el
flujo, ¡ya que causaría que PHP se colgara! */
php_stream_write(stream, "hello\n");
RETURN_TRUE();
}
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Cómo devolver un flujo desde una función</title>
<programlisting role="c">
<![CDATA[
PHP_FUNCTION(example_open_php_home_page)
{
php_stream *stream;
stream = php_stream_open_wrapper("http://www.php.net", "rb", REPORT_ERRORS, NULL);
php_stream_to_zval(stream, return_value);
/* después de este punto, el flujo es "propiedad" del script.
¡Si lo cierra ahora PHP se colgará! */
}
]]>
</programlisting>
</example>
</para>
<para>
Ya que los flujos se limpian automáticamente, es tentador pensar que podemos
zafarnos y ser unos programadores descuidados y no molestarnos en cerrar los flujos cuando
hayamos terminado con ellos. Aunque tal enfoque podría funcionar, no es una buena idea
por varias razones: los flujos permanecen bloqueados en los recursos del sistema mientras están
abiertos, por lo que dejar un archivo abierto después de que se haya terminado con él podría impedir
que otros procesos accedan al mismo. Si un script trata con un gran número de archivos,
la acumulación de recursos usados, tanto en términos de memoria como en
el número de archivos abiertos, puede causar que las peticiones al servidor web fallen. Suena
mal, ¿verdad? La API de flujos incluye algo de magia que le puede ayudar a
mantener su código limpio - si un flujo es cerrado por su código cuando debería hacerlo,
puede encontrar alguna información de depuración útil en el registro de errores de su servidor
web.
</para>
<note>
<simpara>
Use siempre uan construcción de depuración de PHP al desarrollar una extensión
(<option>--enable-debug</option> cuando se ejecute configure), ya que se ha realizado
un mucho esfuerzo para advertirle de filtraciones de memoria y flujos.
</simpara>
</note>
<para>
En algunos casos es útil mantener un flujo abierto durante una petición, para actuar
como un archivo de registro o de seguimiento, por ejemplo. Escribir código para limpiar de forma
segura un flujo no es difícil, pero requiere varias líneas de código que no son estrictamente
necesarias. Para ahorrarse el problema de escribir el código puede
marcar un flujo como OK para su autolimpieza. Esto significa que
la API de flujos no emitirá una advertencia cuando es hora de autolimpiar
un flujo. Para hacer esto puede usar <function>php_stream_auto_cleanup</function>.
</para>
</sect2>
<!-- Disable these until references are fixed
&internals2.ze1.streams.common;
&internals2.ze1.streams.dir;
&internals2.ze1.streams.file;
&internals2.ze1.streams.socket;
&internals2.ze1.streams.structs;
-->
&internals2.ze1.streams.constants;
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,147 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.socket-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams Socket API Reference</title>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-from-socket">
<refnamediv>
<refname>php_stream_sock_open_from_socket</refname>
<refpurpose>Convert a socket descriptor into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_from_socket</methodname>
<methodparam><type>int</type><parameter>socket</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_from_socket</function> returns a stream based on the
<parameter>socket</parameter>. <parameter>persistent</parameter> is a flag that
controls whether the stream is opened as a persistent stream. Generally speaking, this parameter
will usually be 0.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-host">
<refnamediv>
<refname>php_stream_sock_open_host</refname>
<refpurpose>Open a connection to a host and return a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_host</methodname>
<methodparam><type>const char *</type><parameter>host</parameter></methodparam>
<methodparam><type>unsigned short</type><parameter>port</parameter></methodparam>
<methodparam><type>int</type><parameter>socktype</parameter></methodparam>
<methodparam><type>struct timeval *</type><parameter>timeout</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_host</function> establishes a connect to the specified
<parameter>host</parameter> and <parameter>port</parameter>. <parameter>socktype</parameter>
specifies the connection semantics that should apply to the connection. Values for
<parameter>socktype</parameter> are system dependent, but will usually include (at a minimum)
<constant>SOCK_STREAM</constant> for sequenced, reliable, two-way connection based streams (TCP),
or <constant>SOCK_DGRAM</constant> for connectionless, unreliable messages of a fixed maximum
length (UDP).
</para>
<para>
<parameter>persistent</parameter> is a flag the controls whether the stream is opened as a persistent
stream. Generally speaking, this parameter will usually be 0.
</para>
<para>
If not NULL, <parameter>timeout</parameter> specifies a maximum time to allow for the connection to be made.
If the connection attempt takes longer than the timeout value, the connection attempt is aborted and
NULL is returned to indicate that the stream could not be opened.
</para>
<note>
<simpara>
The timeout value does not include the time taken to perform a DNS lookup. The reason for this is
because there is no portable way to implement a non-blocking DNS lookup.
</simpara>
<simpara>
The timeout only applies to the connection phase; if you need to set timeouts for subsequent read
or write operations, you should use <function>php_stream_sock_set_timeout</function> to configure
the timeout duration for your stream once it has been opened.
</simpara>
</note>
<para>
The streams API places no restrictions on the values you use for <parameter>socktype</parameter>,
but encourages you to consider the portability of values you choose before you release your
extension.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-unix">
<refnamediv>
<refname>php_stream_sock_open_unix</refname>
<refpurpose>Open a Unix domain socket and convert into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_unix</methodname>
<methodparam><type>const char *</type><parameter>path</parameter></methodparam>
<methodparam><type>int</type><parameter>pathlen</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
<methodparam><type>struct timeval *</type><parameter>timeout</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_unix</function> attempts to open the Unix domain socket
specified by <parameter>path</parameter>. <parameter>pathlen</parameter> specifies the
length of <parameter>path</parameter>.
If <parameter>timeout</parameter> is not NULL, it specifies a timeout period for the connection attempt.
<parameter>persistent</parameter> indicates if the stream should be opened as a persistent
stream. Generally speaking, this parameter will usually be 0.
</para>
<note>
<simpara>
This function will not work under Windows, which does not implement Unix domain sockets.
A possible exception to this rule is if your PHP binary was built using cygwin. You are encouraged
to consider this aspect of the portability of your extension before it's release.
</simpara>
</note>
<note>
<simpara>
This function treats <parameter>path</parameter> in a binary safe manner, suitable for
use on systems with an abstract namespace (such as Linux), where the first character
of path is a NUL character.
</simpara>
</note>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.socket-api" xmlns="http://docbook.org/ns/docbook">
<title>Streams Socket API Reference</title>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-from-socket">
<refnamediv>
<refname>php_stream_sock_open_from_socket</refname>
<refpurpose>Convert a socket descriptor into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_from_socket</methodname>
<methodparam><type>int</type><parameter>socket</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_from_socket</function> returns a stream based on the
<parameter>socket</parameter>. <parameter>persistent</parameter> is a flag that
controls whether the stream is opened as a persistent stream. Generally speaking, this parameter
will usually be 0.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-host">
<refnamediv>
<refname>php_stream_sock_open_host</refname>
<refpurpose>Open a connection to a host and return a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_host</methodname>
<methodparam><type>const char *</type><parameter>host</parameter></methodparam>
<methodparam><type>unsigned short</type><parameter>port</parameter></methodparam>
<methodparam><type>int</type><parameter>socktype</parameter></methodparam>
<methodparam><type>struct timeval *</type><parameter>timeout</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_host</function> establishes a connect to the specified
<parameter>host</parameter> and <parameter>port</parameter>. <parameter>socktype</parameter>
specifies the connection semantics that should apply to the connection. Values for
<parameter>socktype</parameter> are system dependent, but will usually include (at a minimum)
<constant>SOCK_STREAM</constant> for sequenced, reliable, two-way connection based streams (TCP),
or <constant>SOCK_DGRAM</constant> for connectionless, unreliable messages of a fixed maximum
length (UDP).
</para>
<para>
<parameter>persistent</parameter> is a flag the controls whether the stream is opened as a persistent
stream. Generally speaking, this parameter will usually be 0.
</para>
<para>
If not NULL, <parameter>timeout</parameter> specifies a maximum time to allow for the connection to be made.
If the connection attempt takes longer than the timeout value, the connection attempt is aborted and
NULL is returned to indicate that the stream could not be opened.
</para>
<note>
<simpara>
The timeout value does not include the time taken to perform a DNS lookup. The reason for this is
because there is no portable way to implement a non-blocking DNS lookup.
</simpara>
<simpara>
The timeout only applies to the connection phase; if you need to set timeouts for subsequent read
or write operations, you should use <function>php_stream_sock_set_timeout</function> to configure
the timeout duration for your stream once it has been opened.
</simpara>
</note>
<para>
The streams API places no restrictions on the values you use for <parameter>socktype</parameter>,
but encourages you to consider the portability of values you choose before you release your
extension.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.php-stream-sock-open-unix">
<refnamediv>
<refname>php_stream_sock_open_unix</refname>
<refpurpose>Open a Unix domain socket and convert into a stream</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>php_stream *</type><methodname>php_stream_sock_open_unix</methodname>
<methodparam><type>const char *</type><parameter>path</parameter></methodparam>
<methodparam><type>int</type><parameter>pathlen</parameter></methodparam>
<methodparam><type>int</type><parameter>persistent</parameter></methodparam>
<methodparam><type>struct timeval *</type><parameter>timeout</parameter></methodparam>
</methodsynopsis>
<para>
<function>php_stream_sock_open_unix</function> attempts to open the Unix domain socket
specified by <parameter>path</parameter>. <parameter>pathlen</parameter> specifies the
length of <parameter>path</parameter>.
If <parameter>timeout</parameter> is not NULL, it specifies a timeout period for the connection attempt.
<parameter>persistent</parameter> indicates if the stream should be opened as a persistent
stream. Generally speaking, this parameter will usually be 0.
</para>
<note>
<simpara>
This function will not work under Windows, which does not implement Unix domain sockets.
A possible exception to this rule is if your PHP binary was built using cygwin. You are encouraged
to consider this aspect of the portability of your extension before it's release.
</simpara>
</note>
<note>
<simpara>
This function treats <parameter>path</parameter> in a binary safe manner, suitable for
use on systems with an abstract namespace (such as Linux), where the first character
of path is a NUL character.
</simpara>
</note>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,207 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.structs" xmlns="http://docbook.org/ns/docbook">
<title>Streams Structures</title>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-statbuf">
<refnamediv>
<refname>struct php_stream_statbuf</refname>
<refpurpose>Holds information about a file or URL</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<synopsis>
<structname>php_stream_statbuf</structname>
<type>struct stat</type> <structfield>sb</structfield>
</synopsis>
<para>
<structfield>sb</structfield> is a regular, system defined, struct stat.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-dirent">
<refnamediv>
<refname>struct php_stream_dirent</refname>
<refpurpose>Holds information about a single file during dir scanning</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<synopsis>
<structname>php_stream_dirent</structname>
<type>char</type> <structfield>d_name[MAXPATHLEN]</structfield>
</synopsis>
<para>
<structfield>d_name</structfield> holds the name of the file, relative to the directory
being scanned.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-ops">
<refnamediv>
<refname>struct php_stream_ops</refname>
<refpurpose>Holds member functions for a stream implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_ops {
/* all streams MUST implement these operations */
size_t (*write)(php_stream *stream, const char *buf, size_t count TSRMLS_DC);
size_t (*read)(php_stream *stream, char *buf, size_t count TSRMLS_DC);
int (*close)(php_stream *stream, int close_handle TSRMLS_DC);
int (*flush)(php_stream *stream TSRMLS_DC);
const char *label; /* name describing this class of stream */
/* these operations are optional, and may be set to NULL if the stream does not
* support a particular operation */
int (*seek)(php_stream *stream, off_t offset, int whence TSRMLS_DC);
char *(*gets)(php_stream *stream, char *buf, size_t size TSRMLS_DC);
int (*cast)(php_stream *stream, int castas, void **ret TSRMLS_DC);
int (*stat)(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC);
} php_stream_ops;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-wrapper">
<refnamediv>
<refname>struct php_stream_wrapper</refname>
<refpurpose>Holds wrapper properties and pointer to operations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
struct _php_stream_wrapper {
php_stream_wrapper_ops *wops; /* operations the wrapper can perform */
void *abstract; /* context for the wrapper */
int is_url; /* so that PG(allow_url_fopen) can be respected */
/* support for wrappers to return (multiple) error messages to the stream opener */
int err_count;
char **err_stack;
} php_stream_wrapper;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-wrapper-ops">
<refnamediv>
<refname>struct php_stream_wrapper_ops</refname>
<refpurpose>Holds member functions for a stream wrapper implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_wrapper_ops {
/* open/create a wrapped stream */
php_stream *(*stream_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
/* close/destroy a wrapped stream */
int (*stream_closer)(php_stream_wrapper *wrapper, php_stream *stream TSRMLS_DC);
/* stat a wrapped stream */
int (*stream_stat)(php_stream_wrapper *wrapper, php_stream *stream, php_stream_statbuf *ssb TSR$
/* stat a URL */
int (*url_stat)(php_stream_wrapper *wrapper, char *url, php_stream_statbuf *ssb TSRMLS_DC);
/* open a "directory" stream */
php_stream *(*dir_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
const char *label;
/* Delete/Unlink a file */
int (*unlink)(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC);
} php_stream_wrapper_ops;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-filter">
<refnamediv>
<refname>struct php_stream_filter</refname>
<refpurpose>Holds filter properties and pointer to operations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
struct _php_stream_filter {
php_stream_filter_ops *fops;
void *abstract; /* for use by filter implementation */
php_stream_filter *next;
php_stream_filter *prev;
int is_persistent;
/* link into stream and chain */
php_stream_filter_chain *chain;
/* buffered buckets */
php_stream_bucket_brigade buffer;
} php_stream_filter;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-filter-ops">
<refnamediv>
<refname>struct php_stream_filter_ops</refname>
<refpurpose>Holds member functions for a stream filter implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_filter_ops {
php_stream_filter_status_t (*filter)(
php_stream *stream,
php_stream_filter *thisfilter,
php_stream_bucket_brigade *buckets_in,
php_stream_bucket_brigade *buckets_out,
size_t *bytes_consumed,
int flags
TSRMLS_DC);
void (*dtor)(php_stream_filter *thisfilter TSRMLS_DC);
const char *label;
} php_stream_filter_ops;
]]>
</programlisting>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<!-- Author: Wez Furlong <wez@thebrainroom.com>
Please contact me before making any major amendments to the
content of this section. Splitting/Merging are fine if they are
required for php-doc restructuring purposes - just drop me a line
if you make a change (so I can update my local copy).
-->
<sect2 xml:id="internals2.ze1.streams.structs" xmlns="http://docbook.org/ns/docbook">
<title>Streams Structures</title>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-statbuf">
<refnamediv>
<refname>struct php_stream_statbuf</refname>
<refpurpose>Holds information about a file or URL</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<synopsis>
<structname>php_stream_statbuf</structname>
<type>struct stat</type> <structfield>sb</structfield>
</synopsis>
<para>
<structfield>sb</structfield> is a regular, system defined, struct stat.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-dirent">
<refnamediv>
<refname>struct php_stream_dirent</refname>
<refpurpose>Holds information about a single file during dir scanning</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<synopsis>
<structname>php_stream_dirent</structname>
<type>char</type> <structfield>d_name[MAXPATHLEN]</structfield>
</synopsis>
<para>
<structfield>d_name</structfield> holds the name of the file, relative to the directory
being scanned.
</para>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-ops">
<refnamediv>
<refname>struct php_stream_ops</refname>
<refpurpose>Holds member functions for a stream implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_ops {
/* all streams MUST implement these operations */
size_t (*write)(php_stream *stream, const char *buf, size_t count TSRMLS_DC);
size_t (*read)(php_stream *stream, char *buf, size_t count TSRMLS_DC);
int (*close)(php_stream *stream, int close_handle TSRMLS_DC);
int (*flush)(php_stream *stream TSRMLS_DC);
const char *label; /* name describing this class of stream */
/* these operations are optional, and may be set to NULL if the stream does not
* support a particular operation */
int (*seek)(php_stream *stream, off_t offset, int whence TSRMLS_DC);
char *(*gets)(php_stream *stream, char *buf, size_t size TSRMLS_DC);
int (*cast)(php_stream *stream, int castas, void **ret TSRMLS_DC);
int (*stat)(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC);
} php_stream_ops;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-wrapper">
<refnamediv>
<refname>struct php_stream_wrapper</refname>
<refpurpose>Holds wrapper properties and pointer to operations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
struct _php_stream_wrapper {
php_stream_wrapper_ops *wops; /* operations the wrapper can perform */
void *abstract; /* context for the wrapper */
int is_url; /* so that PG(allow_url_fopen) can be respected */
/* support for wrappers to return (multiple) error messages to the stream opener */
int err_count;
char **err_stack;
} php_stream_wrapper;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-wrapper-ops">
<refnamediv>
<refname>struct php_stream_wrapper_ops</refname>
<refpurpose>Holds member functions for a stream wrapper implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_wrapper_ops {
/* open/create a wrapped stream */
php_stream *(*stream_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
/* close/destroy a wrapped stream */
int (*stream_closer)(php_stream_wrapper *wrapper, php_stream *stream TSRMLS_DC);
/* stat a wrapped stream */
int (*stream_stat)(php_stream_wrapper *wrapper, php_stream *stream, php_stream_statbuf *ssb TSR$
/* stat a URL */
int (*url_stat)(php_stream_wrapper *wrapper, char *url, php_stream_statbuf *ssb TSRMLS_DC);
/* open a "directory" stream */
php_stream *(*dir_opener)(php_stream_wrapper *wrapper, char *filename, char *mode,
int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC);
const char *label;
/* Delete/Unlink a file */
int (*unlink)(php_stream_wrapper *wrapper, char *url, int options, php_stream_context *context TSRMLS_DC);
} php_stream_wrapper_ops;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-filter">
<refnamediv>
<refname>struct php_stream_filter</refname>
<refpurpose>Holds filter properties and pointer to operations</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
struct _php_stream_filter {
php_stream_filter_ops *fops;
void *abstract; /* for use by filter implementation */
php_stream_filter *next;
php_stream_filter *prev;
int is_persistent;
/* link into stream and chain */
php_stream_filter_chain *chain;
/* buffered buckets */
php_stream_bucket_brigade buffer;
} php_stream_filter;
]]>
</programlisting>
</refsect1>
</refentry>
<refentry xml:id="internals2.ze1.streams.struct-php-stream-filter-ops">
<refnamediv>
<refname>struct php_stream_filter_ops</refname>
<refpurpose>Holds member functions for a stream filter implementation</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<programlisting role="c">
<![CDATA[
typedef struct _php_stream_filter_ops {
php_stream_filter_status_t (*filter)(
php_stream *stream,
php_stream_filter *thisfilter,
php_stream_bucket_brigade *buckets_in,
php_stream_bucket_brigade *buckets_out,
size_t *bytes_consumed,
int flags
TSRMLS_DC);
void (*dtor)(php_stream_filter *thisfilter TSRMLS_DC);
const char *label;
} php_stream_filter_ops;
]]>
</programlisting>
</refsect1>
</refentry>
</sect2>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -6,10 +6,10 @@
<partintro>
<para>
PHP ofrece varias opciones y parámetros de contexto que pueden ser usados
con todas las envolturas del sistema de archivos y las secuencias. El
contexto es creado con <function>stream_context_create</function>. Las
opciones son definidas con <function>stream_context_set_option</function>
PHP ofrece varias opciones y parámetros de contexto que pueden ser usados
con todas las envolturas del sistema de archivos y las secuencias. El
contexto es creado con <function>stream_context_create</function>. Las
opciones son definidas con <function>stream_context_set_option</function>
y los parámetros con <function>stream_context_set_params</function>.
</para>
</partintro>

View File

@@ -1,78 +1,78 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.resource">
<title>Recursos</title>
<para>
Un valor tipo <type>resource</type> es una variable especial, que contiene
una referencia a un recurso externo. Los recursos son creados y usados por
funciones especiales. Vea el <link linkend="resource">apéndice</link> para
un listado de todas estas funciones y los tipos <type>resource</type>
correspondientes.
</para>
<note>
<simpara>
El tipo <type>resource</type> fue introducido en PHP 4
</simpara>
</note>
<para>
Vea también la función <function>get_resource_type</function>.
</para>
<sect2 xml:id="language.types.resource.casting">
<title>Conversión a recurso</title>
<para>
Dado que las variables <type>resource</type> contienen gestores
especiales a archivos abiertos, conexiones con bases de datos, áreas de
pintura de imágenes y cosas por el estilo, la conversión a tipo
<type>resource</type> carece de sentido.
</para>
</sect2>
<sect2 xml:id="language.types.resource.self-destruct">
<title>Liberación de recursos</title>
<para>
Gracias al sistema de conteo de referencias introducido con el Motor Zend
de PHP 4, un recurso que ya no es referenciado es detectado
automáticamente, y es liberado por el recolector de basura. Por esta
razón, rara vez se necesita liberar la memoria manualmente.
</para>
<note>
<simpara>
Los enlaces persistentes con bases de datos son una excepción a esta
regla. Ellos <emphasis>no</emphasis> son destruidos por el recolector de
basura. Vea también la sección sobre <link
linkend="features.persistent-connections">conexiones persistentes</link>
para más información.
</simpara>
</note>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: lboshell Status: ready -->
<sect1 xml:id="language.types.resource">
<title>Recursos</title>
<para>
Un valor tipo <type>resource</type> es una variable especial, que contiene
una referencia a un recurso externo. Los recursos son creados y usados por
funciones especiales. Vea el <link linkend="resource">apéndice</link> para
un listado de todas estas funciones y los tipos <type>resource</type>
correspondientes.
</para>
<note>
<simpara>
El tipo <type>resource</type> fue introducido en PHP 4
</simpara>
</note>
<para>
Vea también la función <function>get_resource_type</function>.
</para>
<sect2 xml:id="language.types.resource.casting">
<title>Conversión a recurso</title>
<para>
Dado que las variables <type>resource</type> contienen gestores
especiales a archivos abiertos, conexiones con bases de datos, áreas de
pintura de imágenes y cosas por el estilo, la conversión a tipo
<type>resource</type> carece de sentido.
</para>
</sect2>
<sect2 xml:id="language.types.resource.self-destruct">
<title>Liberación de recursos</title>
<para>
Gracias al sistema de conteo de referencias introducido con el Motor Zend
de PHP 4, un recurso que ya no es referenciado es detectado
automáticamente, y es liberado por el recolector de basura. Por esta
razón, rara vez se necesita liberar la memoria manualmente.
</para>
<note>
<simpara>
Los enlaces persistentes con bases de datos son una excepción a esta
regla. Ellos <emphasis>no</emphasis> son destruidos por el recolector de
basura. Vea también la sección sobre <link
linkend="features.persistent-connections">conexiones persistentes</link>
para más información.
</simpara>
</note>
</sect2>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -15,7 +15,7 @@
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Esta función realiza una petición parcial por una URI. Por si sola no es suficiente para
Esta función realiza una petición parcial por una URI. Por si sola no es suficiente para
obtener toda la información importante del recurso dado.
</para>
&apache.req.module;
@@ -40,7 +40,7 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un <type>object</type> con información de la URI solicitada. Las
Un <type>object</type> con información de la URI solicitada. Las
propiedades de este <type>object</type> son:
</para>
<para>

View File

@@ -16,12 +16,12 @@
</methodsynopsis>
<para>
Esta función es una envoltura para las instrucciones <literal>table_get</literal> y
<literal>table_set</literal> de Apache. Edita las tablas de notas que
existen durante una petición. El propósito de la tabla es permitir la
<literal>table_set</literal> de Apache. Edita las tablas de notas que
existen durante una petición. El propósito de la tabla es permitir la
comunicación entre módulos de Apache.
</para>
<para>
El principal uso de <function>apache_note</function> es el paso de
El principal uso de <function>apache_note</function> es el paso de
información desde un módulo a otro en el interior de la misma petición.
</para>
</refsect1>
@@ -54,7 +54,7 @@
&reftitle.returnvalues;
<para>
Si es llamada con un argumento, devuelve el valor actual de la nota
<literal>note_name</literal>. Si es llamada con dos argumentos, define
<literal>note_name</literal>. Si es llamada con dos argumentos, define
el valor de la nota <literal>note_name</literal> to
<literal>note_value</literal> y devuelve el valor previo de la nota <literal>note_name</literal>.
Si la nota no puede ser recuperada, se devuelve &false;.

View File

@@ -14,9 +14,9 @@
<void/>
</methodsynopsis>
<para>
<function>apache_reset_timeout</function> estaura el temporizador
<function>apache_reset_timeout</function> estaura el temporizador
de Apache, el cual tiene por defecto 300 segundos. Con <literal>set_time_limit(0);
ignore_user_abort(true)</literal> y realizando llamadas
ignore_user_abort(true)</literal> y realizando llamadas
periódicas <function>apache_reset_timeout</function>, teóricamente Apache funciona para siempre.
</para>
<para>

View File

@@ -1,81 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<phpdoc:classref xml:id="class.apciterator" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La clase APCIterator</title>
<titleabbrev>APCIterator</titleabbrev>
<partintro>
<!-- {{{ APCIterator intro -->
<section xml:id="apciterator.intro">
&reftitle.intro;
<para>
La clase <classname>APCIterator</classname> hace que sea más sencillo iterar
sobre grandes cachés de APC. Esto es útilya que permite iterar sobre grandes cachés
por pasos, mientras aprovecha un número definido de entradas por instancia de cierre,
por lo que libera los cierres de caché para otras actividades, en vez de mantener la
caché completa para aprovechar 100 (por defecto) entradas. También, usar comparaciones con
expresiones regulares es más eficiente ya así se traslada al nivel de C.
</para>
</section>
<!-- }}} -->
<section xml:id="apciterator.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>APCIterator</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>APCIterator</classname>
</ooclass>
<oointerface>
<interfacename>Iterator</interfacename>
</oointerface>
<oointerface>
<interfacename>Traversable</interfacename>
</oointerface>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">Methods</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.apciterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.apc.entities.apciterator;
</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<phpdoc:classref xml:id="class.apciterator" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>La clase APCIterator</title>
<titleabbrev>APCIterator</titleabbrev>
<partintro>
<!-- {{{ APCIterator intro -->
<section xml:id="apciterator.intro">
&reftitle.intro;
<para>
La clase <classname>APCIterator</classname> hace que sea más sencillo iterar
sobre grandes cachés de APC. Esto es útilya que permite iterar sobre grandes cachés
por pasos, mientras aprovecha un número definido de entradas por instancia de cierre,
por lo que libera los cierres de caché para otras actividades, en vez de mantener la
caché completa para aprovechar 100 (por defecto) entradas. También, usar comparaciones con
expresiones regulares es más eficiente ya así se traslada al nivel de C.
</para>
</section>
<!-- }}} -->
<section xml:id="apciterator.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>APCIterator</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>APCIterator</classname>
</ooclass>
<oointerface>
<interfacename>Iterator</interfacename>
</oointerface>
<oointerface>
<interfacename>Traversable</interfacename>
</oointerface>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">Methods</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.apciterator')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.apc.entities.apciterator;
</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,64 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.current" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::current</refname>
<refpurpose>Obtener el elemento actual</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>mixed</type><methodname>APCIterator::current</methodname>
<void />
</methodsynopsis>
<para>
Obtiene el elemento acutal de la pila de <classname>APCIterator</classname>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el elemento actual en caso de éxito, o &false; si no
existen más elementos, o en caso de fallo.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::next</methodname></member>
<member><methodname>Iterator::current</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.current" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::current</refname>
<refpurpose>Obtener el elemento actual</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>mixed</type><methodname>APCIterator::current</methodname>
<void />
</methodsynopsis>
<para>
Obtiene el elemento acutal de la pila de <classname>APCIterator</classname>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el elemento actual en caso de éxito, o &false; si no
existen más elementos, o en caso de fallo.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::next</methodname></member>
<member><methodname>Iterator::current</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,67 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.gettotalsize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::getTotalSize</refname>
<refpurpose>Obtener el tamaño total de la caché</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>int</type><methodname>APCIterator::getTotalSize</methodname>
<void />
</methodsynopsis>
<para>
Obtiene el tamaño total de la caché.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
El tamaño total de la caché.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::getTotalCount</methodname></member>
<member><methodname>APCIterator::getTotalHits</methodname></member>
<member><function>apc_cache_info</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.gettotalsize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::getTotalSize</refname>
<refpurpose>Obtener el tamaño total de la caché</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>int</type><methodname>APCIterator::getTotalSize</methodname>
<void />
</methodsynopsis>
<para>
Obtiene el tamaño total de la caché.
</para>
&warn.undocumented.func;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
El tamaño total de la caché.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::getTotalCount</methodname></member>
<member><methodname>APCIterator::getTotalHits</methodname></member>
<member><function>apc_cache_info</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.key" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::key</refname>
<refpurpose>Obtener la clave del iterador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>string</type><methodname>APCIterator::key</methodname>
<void />
</methodsynopsis>
<para>
Obtiene la clave actual del iterador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve la clave en caso de éxito, o &false; en caso de error.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>Iterator::key</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.key" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::key</refname>
<refpurpose>Obtener la clave del iterador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>string</type><methodname>APCIterator::key</methodname>
<void />
</methodsynopsis>
<para>
Obtiene la clave actual del iterador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve la clave en caso de éxito, o &false; en caso de error.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>Iterator::key</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,64 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.next" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::next</refname>
<refpurpose>Mover el puntero al siguiente elemento</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::next</methodname>
<void />
</methodsynopsis>
<para>
Mueve el puntero del iterador al siguiente elemento.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>APCIterator::rewind</methodname></member>
<member><methodname>Iterator::next</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.next" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::next</refname>
<refpurpose>Mover el puntero al siguiente elemento</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::next</methodname>
<void />
</methodsynopsis>
<para>
Mueve el puntero del iterador al siguiente elemento.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>APCIterator::rewind</methodname></member>
<member><methodname>Iterator::next</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.rewind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::rewind</refname>
<refpurpose>Rebobina el iterator</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::rewind</methodname>
<void />
</methodsynopsis>
<para>
Rebobina el iterador hasta el primer elemento.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::next</methodname></member>
<member><methodname>Iterator::next</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.rewind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::rewind</refname>
<refpurpose>Rebobina el iterator</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::rewind</methodname>
<void />
</methodsynopsis>
<para>
Rebobina el iterador hasta el primer elemento.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::next</methodname></member>
<member><methodname>Iterator::next</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.valid" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::valid</refname>
<refpurpose>Comprueba si la posición acutal es válida</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::valid</methodname>
<void />
</methodsynopsis>
<para>
Comprueba si la posición actual del iterador es válida.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; si la posición actual del iterador es válida, si no &false;.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>Iterator::valid</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="apciterator.valid" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>APCIterator::valid</refname>
<refpurpose>Comprueba si la posición acutal es válida</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>void</type><methodname>APCIterator::valid</methodname>
<void />
</methodsynopsis>
<para>
Comprueba si la posición actual del iterador es válida.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; si la posición actual del iterador es válida, si no &false;.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>APCIterator::current</methodname></member>
<member><methodname>Iterator::valid</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,86 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-bin-dump" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_bin_dump</refname>
<refpurpose>Obtener una copia binaria de los archivos y variables de usuario dados</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>apc_bin_dump</methodname>
<methodparam choice="opt"><type>array</type><parameter>files</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>user_vars</parameter></methodparam>
</methodsynopsis>
<para>
Devuelve una copia binaria de los archivos y variables de usuario dados desde la caché de APC.
&null; para cada parámetro files o user_vars indica una copia de cada entrada, mientras que
array() no hará copia de nada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>files</parameter></term>
<listitem>
<para>
Los archivos. Pasar &null; indica una copia de cada entrada, mientras que
pasar <function>array</function> no hará copia de nada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>user_vars</parameter></term>
<listitem>
<para>
Las variables de usuario. Pasar &null; indica una copia de cada entrada, mientras que
pasar <function>array</function> no hará copia de nada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve una copia binaria de los archivos y variables de usuario dados desde la caché de APC,
&false; si APC no está habilitado, o &null; si se produjo un error desconocido.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_bin_dumpfile</function></member>
<member><function>apc_bin_load</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-bin-dump" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_bin_dump</refname>
<refpurpose>Obtener una copia binaria de los archivos y variables de usuario dados</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>apc_bin_dump</methodname>
<methodparam choice="opt"><type>array</type><parameter>files</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>user_vars</parameter></methodparam>
</methodsynopsis>
<para>
Devuelve una copia binaria de los archivos y variables de usuario dados desde la caché de APC.
&null; para cada parámetro files o user_vars indica una copia de cada entrada, mientras que
array() no hará copia de nada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>files</parameter></term>
<listitem>
<para>
Los archivos. Pasar &null; indica una copia de cada entrada, mientras que
pasar <function>array</function> no hará copia de nada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>user_vars</parameter></term>
<listitem>
<para>
Las variables de usuario. Pasar &null; indica una copia de cada entrada, mientras que
pasar <function>array</function> no hará copia de nada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve una copia binaria de los archivos y variables de usuario dados desde la caché de APC,
&false; si APC no está habilitado, o &null; si se produjo un error desconocido.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_bin_dumpfile</function></member>
<member><function>apc_bin_load</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,95 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-bin-loadfile" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_bin_loadfile</refname>
<refpurpose>Cargar una copia binaria desde un archivo a la caché de archivo/usuario de APC</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_bin_loadfile</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<para>
Carga una copia binaria desde un archivo a la caché de archivo/usuario de APC.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
El nombre de archivo que contiene la copia, probablemente desde
<function>apc_bin_dumpfile</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
El contexto de archivos.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Puede ser <constant>APC_BIN_VERIFY_CRC32</constant>, <constant>APC_BIN_VERIFY_MD5</constant>,
o ambos.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; en caso de éxito, si no devuelve &false;. Las razones por la que devuelve &false;
incluyen que APC no está habilitado, <parameter>filename</parameter> no es un nombre de archivo
válido o está vacío, no se puede abrir <parameter>filename</parameter>, la copia del archivo no se
puede completar, o si <parameter>data</parameter> no es una copia binaria de APC válida
(p.ej., tamaño no esperado).
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_bin_dumpfile</function></member>
<member><function>apc_bin_load</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-bin-loadfile" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_bin_loadfile</refname>
<refpurpose>Cargar una copia binaria desde un archivo a la caché de archivo/usuario de APC</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_bin_loadfile</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>resource</type><parameter>context</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<para>
Carga una copia binaria desde un archivo a la caché de archivo/usuario de APC.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
El nombre de archivo que contiene la copia, probablemente desde
<function>apc_bin_dumpfile</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>context</parameter></term>
<listitem>
<para>
El contexto de archivos.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Puede ser <constant>APC_BIN_VERIFY_CRC32</constant>, <constant>APC_BIN_VERIFY_MD5</constant>,
o ambos.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; en caso de éxito, si no devuelve &false;. Las razones por la que devuelve &false;
incluyen que APC no está habilitado, <parameter>filename</parameter> no es un nombre de archivo
válido o está vacío, no se puede abrir <parameter>filename</parameter>, la copia del archivo no se
puede completar, o si <parameter>data</parameter> no es una copia binaria de APC válida
(p.ej., tamaño no esperado).
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_bin_dumpfile</function></member>
<member><function>apc_bin_load</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,183 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: aea2855eea2c4ff305b7cacdb601b9b3e5c37842 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-cache-info" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_cache_info</refname>
<refpurpose>
Recupera información que hay en caché del almacén de datos de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apc_cache_info</methodname>
<methodparam choice="opt"><type>string</type><parameter>cache_type</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>limited</parameter><initializer>false</initializer></methodparam>
</methodsynopsis>
<para>
Recupera información que hay en caché y meta-datos del almacén de datos de APC.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un array de datos en caché (y meta-datos) &return.falseforfailure;
</para>
<note>
<simpara>
<function>apc_cache_info</function> emitirá una advertencia si no es capaz de
recuperar datos en caché de APC. Esto normalmente ocurre cuando APC no está habilitado.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>cache_type</parameter></term>
<listitem>
<para>
Si <parameter>cache_type</parameter> es "<literal>user</literal>",
será devuelta la información acerca de la caché de usuario.
</para>
<para>
Si <parameter>cache_type</parameter> es "<literal>filehits</literal>",
será devuelta la información acerca de qué archivos han sido servidos desde
la caché de código de bytes para la solicitud actual. Esta característica debe ser
habilitada en la compilación usando <option role="configure">--enable-filehits</option>.
</para>
<para>
Si <parameter>cache_type</parameter> no es válido o no se especifica, será devuelta
la información sobre la caché del sistema (archivos en caché).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>limited</parameter></term>
<listitem>
<para>
Si <parameter>limited</parameter> es &true;, el
valor devuelto excluirá la lista individual de entradas de caché. Esto es
útil cuando se intenta optimizar llamadas para reunión de estadísticas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>3.0.11</entry>
<entry>
Se introdujo el parámetro <parameter>limited</parameter>.
</entry>
</row>
<row>
<entry>3.0.16</entry>
<entry>
Se introdujo la opción "<literal>filehits</literal>" del
parámetro <parameter>cache_type</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_cache_info</function></title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apc_cache_info());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[num_slots] => 2000
[ttl] => 0
[num_hits] => 9
[num_misses] => 3
[start_time] => 1123958803
[cache_list] => Array
(
[0] => Array
(
[filename] => /path/to/apc_test.php
[device] => 29954
[inode] => 1130511
[type] => file
[num_hits] => 1
[mtime] => 1123960686
[creation_time] => 1123960696
[deletion_time] => 0
[access_time] => 1123962864
[ref_count] => 1
[mem_size] => 677
)
[1] => Array (...itera para cada archivo en caché)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="apc.configuration">Directivas de configuración de APC</link></member>
<member><methodname>APCIterator::getTotalSize</methodname></member>
<member><methodname>APCIterator::getTotalHits</methodname></member>
<member><methodname>APCIterator::getTotalCount</methodname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
<!-- EN-Revision: aea2855eea2c4ff305b7cacdb601b9b3e5c37842 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-cache-info" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_cache_info</refname>
<refpurpose>
Recupera información que hay en caché del almacén de datos de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apc_cache_info</methodname>
<methodparam choice="opt"><type>string</type><parameter>cache_type</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>limited</parameter><initializer>false</initializer></methodparam>
</methodsynopsis>
<para>
Recupera información que hay en caché y meta-datos del almacén de datos de APC.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un array de datos en caché (y meta-datos) &return.falseforfailure;
</para>
<note>
<simpara>
<function>apc_cache_info</function> emitirá una advertencia si no es capaz de
recuperar datos en caché de APC. Esto normalmente ocurre cuando APC no está habilitado.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>cache_type</parameter></term>
<listitem>
<para>
Si <parameter>cache_type</parameter> es "<literal>user</literal>",
será devuelta la información acerca de la caché de usuario.
</para>
<para>
Si <parameter>cache_type</parameter> es "<literal>filehits</literal>",
será devuelta la información acerca de qué archivos han sido servidos desde
la caché de código de bytes para la solicitud actual. Esta característica debe ser
habilitada en la compilación usando <option role="configure">--enable-filehits</option>.
</para>
<para>
Si <parameter>cache_type</parameter> no es válido o no se especifica, será devuelta
la información sobre la caché del sistema (archivos en caché).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>limited</parameter></term>
<listitem>
<para>
Si <parameter>limited</parameter> es &true;, el
valor devuelto excluirá la lista individual de entradas de caché. Esto es
útil cuando se intenta optimizar llamadas para reunión de estadísticas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>3.0.11</entry>
<entry>
Se introdujo el parámetro <parameter>limited</parameter>.
</entry>
</row>
<row>
<entry>3.0.16</entry>
<entry>
Se introdujo la opción "<literal>filehits</literal>" del
parámetro <parameter>cache_type</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_cache_info</function></title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apc_cache_info());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[num_slots] => 2000
[ttl] => 0
[num_hits] => 9
[num_misses] => 3
[start_time] => 1123958803
[cache_list] => Array
(
[0] => Array
(
[filename] => /path/to/apc_test.php
[device] => 29954
[inode] => 1130511
[type] => file
[num_hits] => 1
[mtime] => 1123960686
[creation_time] => 1123960696
[deletion_time] => 0
[access_time] => 1123962864
[ref_count] => 1
[mem_size] => 677
)
[1] => Array (...itera para cada archivo en caché)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="apc.configuration">Directivas de configuración de APC</link></member>
<member><methodname>APCIterator::getTotalSize</methodname></member>
<member><methodname>APCIterator::getTotalHits</methodname></member>
<member><methodname>APCIterator::getTotalCount</methodname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,77 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-clear-cache" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_clear_cache</refname>
<refpurpose>
Limpia la caché de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_clear_cache</methodname>
<methodparam choice="opt"><type>string</type><parameter>cache_type</parameter></methodparam>
</methodsynopsis>
<para>
Limpiar la caché de usuario/sistema.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>cache_type</parameter></term>
<listitem>
<para>
Si <parameter>cache_type</parameter> es "<literal>user</literal>", se
limpiará la caché de usuario; de otro modo, se limpiará la caché del sistema
(archivos almacenados en caché).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_cache_info</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-clear-cache" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_clear_cache</refname>
<refpurpose>
Limpia la caché de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_clear_cache</methodname>
<methodparam choice="opt"><type>string</type><parameter>cache_type</parameter></methodparam>
</methodsynopsis>
<para>
Limpiar la caché de usuario/sistema.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>cache_type</parameter></term>
<listitem>
<para>
Si <parameter>cache_type</parameter> es "<literal>user</literal>", se
limpiará la caché de usuario; de otro modo, se limpiará la caché del sistema
(archivos almacenados en caché).
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_cache_info</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,140 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-dec" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_dec</refname>
<refpurpose>Disminuye un número almacenado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>apc_dec</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>step</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Disminuye un valor integer almacenado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave del valor a ser disminuido.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>step</parameter></term>
<listitem>
<para>
El intervalo, o valor a disminuir.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Opcionalmente pasa el valor boolean de éxito o fracaso a
esta variable referenciada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el valor actual de <parameter>key</parameter> en caso de éxito,
&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_dec</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;
apc_store('unnúmero', 42);
echo apc_fetch('unnúmero'), PHP_EOL;
echo apc_dec('unnúmero'), PHP_EOL;
echo apc_dec('unnúmero', 10), PHP_EOL;
echo apc_dec('unnúmero', 10, $éxito), PHP_EOL;
var_dump($éxito);
echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;
apc_store('unacadena', 'foo');
$ret = apc_dec('unacadena', 1, $fracaso);
var_dump($ret);
var_dump($fracaso);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Vamos a hacer algo con éxito
42
41
31
21
bool(true)
Ahora, vamos a fracasar
bool(false)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_inc</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-dec" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_dec</refname>
<refpurpose>Disminuye un número almacenado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>apc_dec</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>step</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Disminuye un valor integer almacenado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave del valor a ser disminuido.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>step</parameter></term>
<listitem>
<para>
El intervalo, o valor a disminuir.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Opcionalmente pasa el valor boolean de éxito o fracaso a
esta variable referenciada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el valor actual de <parameter>key</parameter> en caso de éxito,
&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_dec</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;
apc_store('unnúmero', 42);
echo apc_fetch('unnúmero'), PHP_EOL;
echo apc_dec('unnúmero'), PHP_EOL;
echo apc_dec('unnúmero', 10), PHP_EOL;
echo apc_dec('unnúmero', 10, $éxito), PHP_EOL;
var_dump($éxito);
echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;
apc_store('unacadena', 'foo');
$ret = apc_dec('unacadena', 1, $fracaso);
var_dump($ret);
var_dump($fracaso);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Vamos a hacer algo con éxito
42
41
31
21
bool(true)
Ahora, vamos a fracasar
bool(false)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_inc</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,152 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-define-constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_define_constants</refname>
<refpurpose>
Define un conjunto de constantes para recuperación y definición en masa
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_define_constants</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam><type>array</type><parameter>constants</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_sensitive</parameter><initializer>true</initializer></methodparam>
</methodsynopsis>
<para>
<function>define</function> es notoriamente lenta. Ya que el principal beneficio de
APC es aumentar el rendimiento de scripts/aplicaciones, se proporciona
este mecanismo para hacer más eficiente el proceso de definición de constantes en masa. Sin embargo,
esta función no lo realiza tan bien como se esperaba.
</para>
<para>
Para una solución de rendimiento mejor, pruebe la
extensión <link xlink:href="&url.pecl.package;hidef">hidef</link> de PECL.
</para>
<note>
<simpara>
Para eliminar un conjunto de constantes almacenadas (sin limpiar la caché por completo), se
puede pasar un array vacío al parámetro <parameter>constants</parameter>,
limpiando de manera eficaz los valores almacenados.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
<parameter>key</parameter> sirve como el nombre del conjunto de constantes
que va a ser almacenado. <parameter>key</parameter> se usa para recuperar las
constantes almacenadas en <function>apc_load_constants</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constants</parameter></term>
<listitem>
<para>
Un array asociativo de pares <literal>nombre_constante => valor</literal>.
<literal>nombre_constante</literal> debe seguir las reglas normales de
nominación de <link linkend="language.constants">constantes</link>.
<literal>valor</literal> debe evaluar un valor escalar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_sensitive</parameter></term>
<listitem>
<para>
El comportamiento predeterminado para las constantes es ser declaradas sensibles a
mayúsculas-minúsculas; es decir, <literal>CONSTANTE</literal> y <literal>Constante</literal>
representan valores diferentes. Si este parámetro es &false; las
constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>apc_define_constants</function></title>
<programlisting role="php">
<![CDATA[
<?php
$constantes = array(
'UNO' => 1,
'DOS' => 2,
'TRES' => 3,
);
apc_define_constants('números', $constantes);
echo UNO, DOS, TRES;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
123
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_load_constants</function></member>
<member><function>define</function></member>
<member><function>constant</function></member>
<member>
O <link linkend="language.constants">la referencia de contantes de PHP</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-define-constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_define_constants</refname>
<refpurpose>
Define un conjunto de constantes para recuperación y definición en masa
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_define_constants</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam><type>array</type><parameter>constants</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_sensitive</parameter><initializer>true</initializer></methodparam>
</methodsynopsis>
<para>
<function>define</function> es notoriamente lenta. Ya que el principal beneficio de
APC es aumentar el rendimiento de scripts/aplicaciones, se proporciona
este mecanismo para hacer más eficiente el proceso de definición de constantes en masa. Sin embargo,
esta función no lo realiza tan bien como se esperaba.
</para>
<para>
Para una solución de rendimiento mejor, pruebe la
extensión <link xlink:href="&url.pecl.package;hidef">hidef</link> de PECL.
</para>
<note>
<simpara>
Para eliminar un conjunto de constantes almacenadas (sin limpiar la caché por completo), se
puede pasar un array vacío al parámetro <parameter>constants</parameter>,
limpiando de manera eficaz los valores almacenados.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
<parameter>key</parameter> sirve como el nombre del conjunto de constantes
que va a ser almacenado. <parameter>key</parameter> se usa para recuperar las
constantes almacenadas en <function>apc_load_constants</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constants</parameter></term>
<listitem>
<para>
Un array asociativo de pares <literal>nombre_constante => valor</literal>.
<literal>nombre_constante</literal> debe seguir las reglas normales de
nominación de <link linkend="language.constants">constantes</link>.
<literal>valor</literal> debe evaluar un valor escalar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_sensitive</parameter></term>
<listitem>
<para>
El comportamiento predeterminado para las constantes es ser declaradas sensibles a
mayúsculas-minúsculas; es decir, <literal>CONSTANTE</literal> y <literal>Constante</literal>
representan valores diferentes. Si este parámetro es &false; las
constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>apc_define_constants</function></title>
<programlisting role="php">
<![CDATA[
<?php
$constantes = array(
'UNO' => 1,
'DOS' => 2,
'TRES' => 3,
);
apc_define_constants('números', $constantes);
echo UNO, DOS, TRES;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
123
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_load_constants</function></member>
<member><function>define</function></member>
<member><function>constant</function></member>
<member>
O <link linkend="language.constants">la referencia de contantes de PHP</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,121 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-delete-file" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_delete_file</refname>
<refpurpose>Borra archivos de la caché del código de operación</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_delete_file</methodname>
<methodparam><type>mixed</type><parameter>keys</parameter></methodparam>
</methodsynopsis>
<para>
Borra los archivos dados de la caché del código de operación.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>keys</parameter></term>
<listitem>
<para>
Los archivos a ser borrados. Acepta un <type>string</type>,
un <type>array</type> de strings, o un <type>object</type>
<classname>APCIterator</classname>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
O si <parameter>keys</parameter> es un <type>array</type>,
se devuelve un array vacío en caso de éxito, o se devuelve un array con los
archivos fallidos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_delete_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
$nombrearchivo = 'archivo.php';
if (apc_compile_file($nombrearchivo)) {
if (apc_delete_file($nombrearchivo)) {
echo "Se borró con éxito el archivo $nombrearchivo de la caché de APC.", PHP_EOL;
}
}
if (apc_compile_file($nombrearchivo)) {
if ($bien = apc_delete_file(array($nombrearchivo, 'noexiste.php'))) {
var_dump($bien);
}
}
$mal = apc_delete_file('noexiste.php');
var_dump($mal);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Se borró con éxito el archivo $nombrearchivo de la caché de APC.
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
[0]=>
string(14) "noexiste.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_clear_cache</function></member>
<member><function>apc_delete</function></member>
<member><function>apc_exists</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-delete-file" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_delete_file</refname>
<refpurpose>Borra archivos de la caché del código de operación</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_delete_file</methodname>
<methodparam><type>mixed</type><parameter>keys</parameter></methodparam>
</methodsynopsis>
<para>
Borra los archivos dados de la caché del código de operación.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>keys</parameter></term>
<listitem>
<para>
Los archivos a ser borrados. Acepta un <type>string</type>,
un <type>array</type> de strings, o un <type>object</type>
<classname>APCIterator</classname>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
O si <parameter>keys</parameter> es un <type>array</type>,
se devuelve un array vacío en caso de éxito, o se devuelve un array con los
archivos fallidos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_delete_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
$nombrearchivo = 'archivo.php';
if (apc_compile_file($nombrearchivo)) {
if (apc_delete_file($nombrearchivo)) {
echo "Se borró con éxito el archivo $nombrearchivo de la caché de APC.", PHP_EOL;
}
}
if (apc_compile_file($nombrearchivo)) {
if ($bien = apc_delete_file(array($nombrearchivo, 'noexiste.php'))) {
var_dump($bien);
}
}
$mal = apc_delete_file('noexiste.php');
var_dump($mal);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Se borró con éxito el archivo $nombrearchivo de la caché de APC.
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 13.
array(1) {
[0]=>
string(14) "noexiste.php"
}
[Mon May 24 09:30:33 2010] [apc-warning] Could not stat file noexiste.php, unable to delete from cache. in /tmp/test.php on line 18.
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_clear_cache</function></member>
<member><function>apc_delete</function></member>
<member><function>apc_exists</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,126 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-exists" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_exists</refname>
<refpurpose>Comprobar si existe una clave de APC</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_exists</methodname>
<methodparam><type>mixed</type><parameter>keys</parameter></methodparam>
</methodsynopsis>
<para>
Comprueba si una o más claves de APC existen.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>keys</parameter></term>
<listitem>
<para>
Un <type>string</type>, o un <type>array</type> de strings, que
contienen claves.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; si la clave existe, de otro modo devuelve &false;. O si se
pasó un <type>array</type> a <parameter>keys</parameter>,
se devuelve un array que contiene todas las claves existentes, o un array
vacío si no existe nada.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_exists</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruta = 'manzana';
$vegetal = 'zanahoria';
apc_store('foo', $fruta);
apc_store('bar', $vegetal);
if (apc_exists('foo')) {
echo "Foo existe: ";
echo apc_fetch('foo');
} else {
echo "Foo no existe";
}
echo PHP_EOL;
if (apc_exists('baz')) {
echo "Baz existe.";
} else {
echo "Baz no existe";
}
echo PHP_EOL;
$ret = apc_exists(array('foo', 'noexiste', 'bar'));
var_dump($ret);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Foo existe: manzana
Baz no existe
array(2) {
["foo"]=>
bool(true)
["bar"]=>
bool(true)
}
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_cache_info</function></member>
<member><function>apc_fetch</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 4a66b4509aeca6f1e492684bd85965782a55d7cd Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-exists" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_exists</refname>
<refpurpose>Comprobar si existe una clave de APC</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_exists</methodname>
<methodparam><type>mixed</type><parameter>keys</parameter></methodparam>
</methodsynopsis>
<para>
Comprueba si una o más claves de APC existen.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>keys</parameter></term>
<listitem>
<para>
Un <type>string</type>, o un <type>array</type> de strings, que
contienen claves.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve &true; si la clave existe, de otro modo devuelve &false;. O si se
pasó un <type>array</type> a <parameter>keys</parameter>,
se devuelve un array que contiene todas las claves existentes, o un array
vacío si no existe nada.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_exists</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruta = 'manzana';
$vegetal = 'zanahoria';
apc_store('foo', $fruta);
apc_store('bar', $vegetal);
if (apc_exists('foo')) {
echo "Foo existe: ";
echo apc_fetch('foo');
} else {
echo "Foo no existe";
}
echo PHP_EOL;
if (apc_exists('baz')) {
echo "Baz existe.";
} else {
echo "Baz no existe";
}
echo PHP_EOL;
$ret = apc_exists(array('foo', 'noexiste', 'bar'));
var_dump($ret);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Foo existe: manzana
Baz no existe
array(2) {
["foo"]=>
bool(true)
["bar"]=>
bool(true)
}
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_cache_info</function></member>
<member><function>apc_fetch</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,132 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: aea2855eea2c4ff305b7cacdb601b9b3e5c37842 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-fetch" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_fetch</refname>
<refpurpose>
Traer una variable almacenada desde la caché
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_fetch</methodname>
<methodparam><type>mixed</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Traer una variable almacenada desde la caché.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave dada por <parameter>key</parameter> usada para almacenar el valor (con
<function>apc_store</function>). Si se pasa un array cada
elemento es traído y devuelto.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Se establece a &true; para éxito y &false; en caso de error.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La variable almacenada o una matriz de variables en caso de éxito; &false; en caso de error
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_fetch</function></title>
<programlisting role="php">
<![CDATA[
<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(3) "BAR"
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>3.0.17</entry>
<entry>
Se añadio el parámetro <parameter>success</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_store</function></member>
<member><function>apc_delete</function></member>
<member><classname>APCIterator</classname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: aea2855eea2c4ff305b7cacdb601b9b3e5c37842 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-fetch" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_fetch</refname>
<refpurpose>
Traer una variable almacenada desde la caché
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>apc_fetch</methodname>
<methodparam><type>mixed</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Traer una variable almacenada desde la caché.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave dada por <parameter>key</parameter> usada para almacenar el valor (con
<function>apc_store</function>). Si se pasa un array cada
elemento es traído y devuelto.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Se establece a &true; para éxito y &false; en caso de error.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La variable almacenada o una matriz de variables en caso de éxito; &false; en caso de error
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_fetch</function></title>
<programlisting role="php">
<![CDATA[
<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(3) "BAR"
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>3.0.17</entry>
<entry>
Se añadio el parámetro <parameter>success</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_store</function></member>
<member><function>apc_delete</function></member>
<member><classname>APCIterator</classname></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,140 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 94eb8e63be02dca3e3787af75ac186bfaa2ac5ac Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-inc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_inc</refname>
<refpurpose>Aumentar un número almacenado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>apc_inc</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>step</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Aumenta un número almacenado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave del valor a ser aumentado.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>step</parameter></term>
<listitem>
<para>
El intervalo, o valor a aumentar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Opcionalmente pasa el valor boolean de éxito o fracaso a
esta variable referenciada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el valor actual de <parameter>key</parameter> en caso de éxito,
&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_inc</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;
apc_store('unnúmero', 42);
echo apc_fetch('unnúmero'), PHP_EOL;
echo apc_inc('unnúmero'), PHP_EOL;
echo apc_inc('unnúmero', 10), PHP_EOL;
echo apc_inc('unnúmero', 10, $éxito), PHP_EOL;
var_dump($éxito);
echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;
apc_store('unacadena', 'foo');
$ret = apc_inc('unacadena', 1, $fracaso);
var_dump($ret);
var_dump($fracaso);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Vamos a hacer algo con éxito
42
43
53
63
bool(true)
Ahora, vamos a fracasar
bool(false)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_dec</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 94eb8e63be02dca3e3787af75ac186bfaa2ac5ac Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-inc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>apc_inc</refname>
<refpurpose>Aumentar un número almacenado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>apc_inc</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>step</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter role="reference">success</parameter></methodparam>
</methodsynopsis>
<para>
Aumenta un número almacenado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
La clave del valor a ser aumentado.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>step</parameter></term>
<listitem>
<para>
El intervalo, o valor a aumentar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>success</parameter></term>
<listitem>
<para>
Opcionalmente pasa el valor boolean de éxito o fracaso a
esta variable referenciada.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el valor actual de <parameter>key</parameter> en caso de éxito,
&return.falseforfailure;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Ejemplo de <function>apc_inc</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo "Vamos a hacer algo con éxito", PHP_EOL;
apc_store('unnúmero', 42);
echo apc_fetch('unnúmero'), PHP_EOL;
echo apc_inc('unnúmero'), PHP_EOL;
echo apc_inc('unnúmero', 10), PHP_EOL;
echo apc_inc('unnúmero', 10, $éxito), PHP_EOL;
var_dump($éxito);
echo "Ahora, vamos a fracasar", PHP_EOL, PHP_EOL;
apc_store('unacadena', 'foo');
$ret = apc_inc('unacadena', 1, $fracaso);
var_dump($ret);
var_dump($fracaso);
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Vamos a hacer algo con éxito
42
43
53
63
bool(true)
Ahora, vamos a fracasar
bool(false)
bool(false)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>apc_dec</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,120 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-load-constants" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_load_constants</refname>
<refpurpose>
Carga un conjunto de constantes de la caché
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_load_constants</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_sensitive</parameter><initializer>true</initializer></methodparam>
</methodsynopsis>
<para>
Carga un conjunto de constantes de la caché.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
El nombre del conjunto de constantes (que fue almacenado con
<function>apc_define_constants</function>) que se va a recuperar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_sensitive</parameter></term>
<listitem>
<para>
El comportamiento predeterminado para las constantes es ser declaradas sensibles a
mayúsculas-minúsculas; es decir, <literal>CONSTANTE</literal> y <literal>Constante</literal>
representan valores diferentes. Si este parámetro es &false; las
constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>apc_load_constants</function></title>
<programlisting role="php">
<![CDATA[
<?php
$constantes = array(
'UNO' => 1,
'DOS' => 2,
'TRES' => 3,
);
apc_define_constants('números', $constantes);
apc_load_constants('números');
echo UNO, DOS, TRES;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
123
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_define_constants</function></member>
<member><function>define</function></member>
<member><function>constant</function></member>
<member>
O <link linkend="language.constants">la referencia de contantes de PHP</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.apc-load-constants" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apc_load_constants</refname>
<refpurpose>
Carga un conjunto de constantes de la caché
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apc_load_constants</methodname>
<methodparam><type>string</type><parameter>key</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_sensitive</parameter><initializer>true</initializer></methodparam>
</methodsynopsis>
<para>
Carga un conjunto de constantes de la caché.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>key</parameter></term>
<listitem>
<para>
El nombre del conjunto de constantes (que fue almacenado con
<function>apc_define_constants</function>) que se va a recuperar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_sensitive</parameter></term>
<listitem>
<para>
El comportamiento predeterminado para las constantes es ser declaradas sensibles a
mayúsculas-minúsculas; es decir, <literal>CONSTANTE</literal> y <literal>Constante</literal>
representan valores diferentes. Si este parámetro es &false; las
constantes serán declaradas como símbolos insensibles a mayúsculas-minúsculas.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>apc_load_constants</function></title>
<programlisting role="php">
<![CDATA[
<?php
$constantes = array(
'UNO' => 1,
'DOS' => 2,
'TRES' => 3,
);
apc_define_constants('números', $constantes);
apc_load_constants('números');
echo UNO, DOS, TRES;
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
123
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apc_define_constants</function></member>
<member><function>define</function></member>
<member><function>constant</function></member>
<member>
O <link linkend="language.constants">la referencia de contantes de PHP</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,119 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.apc-sma-info">
<refnamediv>
<refname>apc_sma_info</refname>
<refpurpose>
Recupera la información de la Asignación de Memoria Compartida de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apc_sma_info</methodname>
<methodparam choice="opt"><type>bool</type><parameter>limited</parameter><initializer>false</initializer></methodparam>
</methodsynopsis>
<para>
Recupera la información de la Asignación de Memoria Compartida de APC.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>limited</parameter></term>
<listitem>
<para>
Cuando se establece a &false; (predeterminado) <function>apc_sma_info</function>
devolverá información detallada sobre cada segmento.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un array de información de Asignación de Memoria Compartida; &false; en caso de error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_sma_info</function></title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apc_sma_info());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[num_seg] => 1
[seg_size] => 31457280
[avail_mem] => 31448408
[block_lists] => Array
(
[0] => Array
(
[0] => Array
(
[size] => 31448408
[offset] => 8864
)
)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<link linkend="apc.configuration">Directivas de configuración de APC</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.apc-sma-info">
<refnamediv>
<refname>apc_sma_info</refname>
<refpurpose>
Recupera la información de la Asignación de Memoria Compartida de APC
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apc_sma_info</methodname>
<methodparam choice="opt"><type>bool</type><parameter>limited</parameter><initializer>false</initializer></methodparam>
</methodsynopsis>
<para>
Recupera la información de la Asignación de Memoria Compartida de APC.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>limited</parameter></term>
<listitem>
<para>
Cuando se establece a &false; (predeterminado) <function>apc_sma_info</function>
devolverá información detallada sobre cada segmento.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un array de información de Asignación de Memoria Compartida; &false; en caso de error.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Un ejemplo de <function>apc_sma_info</function></title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apc_sma_info());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[num_seg] => 1
[seg_size] => 31457280
[avail_mem] => 31448408
[block_lists] => Array
(
[0] => Array
(
[0] => Array
(
[size] => 31448408
[offset] => 8864
)
)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<link linkend="apc.configuration">Directivas de configuración de APC</link>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,122 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<appendix xml:id="apd.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<table>
<title>Constantes APD</title>
<tgroup cols="3">
<thead>
<row>
<entry>Constante</entry>
<entry>Valor</entry>
<entry>Descripción</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<constant>FUNCTION_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>1</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ARGS_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>2</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ASSIGNMENT_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>4</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>STATEMENT_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>8</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>MEMORY_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>16</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>TIMING_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>32</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>SUMMARY_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>64</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ERROR_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>128</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>PROF_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>256</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>APD_VERSION</constant>
(<type>string</type>)
</entry>
<entry>ejemplo: <literal>1.0.2-dev</literal></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<appendix xml:id="apd.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<table>
<title>Constantes APD</title>
<tgroup cols="3">
<thead>
<row>
<entry>Constante</entry>
<entry>Valor</entry>
<entry>Descripción</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<constant>FUNCTION_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>1</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ARGS_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>2</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ASSIGNMENT_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>4</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>STATEMENT_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>8</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>MEMORY_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>16</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>TIMING_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>32</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>SUMMARY_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>64</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>ERROR_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>128</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>PROF_TRACE</constant>
(<type>integer</type>)
</entry>
<entry>256</entry>
<entry></entry>
</row>
<row>
<entry>
<constant>APD_VERSION</constant>
(<type>string</type>)
</entry>
<entry>ejemplo: <literal>1.0.2-dev</literal></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,106 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-breakpoint" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_breakpoint</refname>
<refpurpose>Detiene el interpretador y espera en un CR desde el socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_breakpoint</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Esto puede ser usado para detener el corrido del script y esperar respuestas
en el socket conectado. Para dar un paso en el programa, sólo se envía enter
(una línea en blanco) o se entra un comando php para ser ejecutado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Sesión típica usando tcplisten</title>
<programlisting role="shell">
<![CDATA[
bash#tcplisten localhost 7777
APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
( 0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
( 0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned. Elapsed (0.074824)
( 0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned. Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC: apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-breakpoint" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_breakpoint</refname>
<refpurpose>Detiene el interpretador y espera en un CR desde el socket</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_breakpoint</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Esto puede ser usado para detener el corrido del script y esperar respuestas
en el socket conectado. Para dar un paso en el programa, sólo se envía enter
(una línea en blanco) o se entra un comando php para ser ejecutado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Sesión típica usando tcplisten</title>
<programlisting role="shell">
<![CDATA[
bash#tcplisten localhost 7777
APD - Advanced PHP Debugger Trace File
---------------------------------------------------------------------------
Process Pid (6118)
Trace Begun at Sun Mar 10 23:13:12 2002
---------------------------------------------------------------------------
( 0.000000): apd_set_session_trace called at /home/alan/Projects/project2/test.
php:5
( 0.074824): apd_set_session_trace_socket() at /home/alan/Projects/project2/tes
t.php:5 returned. Elapsed (0.074824)
( 0.074918): apd_breakpoint() /home/alan/Projects/project2/test.php:7
++ argv[0] $(??) = 9
apd_breakpoint() at /home/alan/Projects/project2/test.php:7 returned. Elapsed (
-2089521468.1073275368)
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:8
>\n
statement: /home/alan/Projects/project2/test.php:10
>apd_echo($i);
EXEC: apd_echo($i);
0
>apd_echo(serialize(apd_get_active_symbols()));
EXEC: apd_echo(serialize(apd_get_active_symbols()));
a:47:{i:0;s:4:"PWD";i:1;s:10:"COLORFGBG";i:2;s:11:"XAUTHORITY";i:3;s:14:"
COLORTERM_BCE";i:4;s:9:"WINDOWID";i:5;s:14:"ETERM_VERSION";i:6;s:16:"SE
SSION_MANAGER";i:7;s:4:"PS1";i:8;s:11:"GDMSESSION";i:9;s:5:"USER";i:10;s:5:"
MAIL";i:11;s:7:"OLDPWD";i:12;s:5:"LANG";i:13;s:10:"COLORTERM";i:14;s:8:"DISP
LAY";i:15;s:8:"LOGNAME";i:16;s:6:"
>apd_echo(system('ls /home/mydir'));
........
>apd_continue(0);
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-callstack" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_callstack</refname>
<refpurpose>Retorna la actual pila de llamado como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_callstack</methodname>
<void/>
</methodsynopsis>
<para>
Retorna la actual pila de llamado como una matriz
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz que contiene la actual pila de llamado.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_callstack</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_callstack());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-callstack" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_callstack</refname>
<refpurpose>Retorna la actual pila de llamado como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_callstack</methodname>
<void/>
</methodsynopsis>
<para>
Retorna la actual pila de llamado como una matriz
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz que contiene la actual pila de llamado.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_callstack</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_callstack());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,97 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-clunk" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_clunk</refname>
<refpurpose>Lanza una advertencia y una pila de llamado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_clunk</methodname>
<methodparam><type>string</type><parameter>warning</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
</methodsynopsis>
<para>
Se comporta como el Carp::cluck de perl. Lanza una advertencia y una pila de llamado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>warning</parameter></term>
<listitem>
<para>
La advertencia a lanzar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter></term>
<listitem>
<para>
El delimitador. Por defecto es <literal>&lt;BR /&gt;</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_clunk</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_clunk("Alguna advertencia", "<br/>");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_croak</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-clunk" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_clunk</refname>
<refpurpose>Lanza una advertencia y una pila de llamado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_clunk</methodname>
<methodparam><type>string</type><parameter>warning</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
</methodsynopsis>
<para>
Se comporta como el Carp::cluck de perl. Lanza una advertencia y una pila de llamado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>warning</parameter></term>
<listitem>
<para>
La advertencia a lanzar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter></term>
<listitem>
<para>
El delimitador. Por defecto es <literal>&lt;BR /&gt;</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_clunk</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_clunk("Alguna advertencia", "<br/>");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_croak</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-continue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_continue</refname>
<refpurpose>Reinicia el interpretador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_continue</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Usualmente enviado vía el socket para reiniciar el interpretador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_continue</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_continue(0);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-continue" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_continue</refname>
<refpurpose>Reinicia el interpretador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_continue</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Usualmente enviado vía el socket para reiniciar el interpretador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_continue</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_continue(0);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,97 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-croak" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_croak</refname>
<refpurpose>Lanza un error, una pila de lamado y entonces sale</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_croak</methodname>
<methodparam><type>string</type><parameter>warning</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
</methodsynopsis>
<para>
Se comporta como el Carp::croak de perl. Lanza un error, una pila de lamado y entonces sale.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>warning</parameter></term>
<listitem>
<para>
La advertencia a lanzar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter></term>
<listitem>
<para>
El delimitador. Por defecto es <literal>&lt;BR /&gt;</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_croak</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_croak("Alguna advertencia","<P>");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_clunk</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-croak" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_croak</refname>
<refpurpose>Lanza un error, una pila de lamado y entonces sale</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_croak</methodname>
<methodparam><type>string</type><parameter>warning</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>delimiter</parameter></methodparam>
</methodsynopsis>
<para>
Se comporta como el Carp::croak de perl. Lanza un error, una pila de lamado y entonces sale.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>warning</parameter></term>
<listitem>
<para>
La advertencia a lanzar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>delimiter</parameter></term>
<listitem>
<para>
El delimitador. Por defecto es <literal>&lt;BR /&gt;</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_croak</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_croak("Alguna advertencia","<P>");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_clunk</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-function-table" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_function_table</refname>
<refpurpose>Muestra la tabla de funciones actual</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_dump_function_table</methodname>
<void/>
</methodsynopsis>
<para>
Muestra la tabla de funciones actual.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_function_table</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_dump_function_table();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-function-table" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_function_table</refname>
<refpurpose>Muestra la tabla de funciones actual</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_dump_function_table</methodname>
<void/>
</methodsynopsis>
<para>
Muestra la tabla de funciones actual.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_function_table</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_dump_function_table();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-persistent-resources" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_persistent_resources</refname>
<refpurpose>Retorna todos los recursos persistentes como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_dump_persistent_resources</methodname>
<void/>
</methodsynopsis>
<para>
Retorna todos los recursos persistentes como una matriz.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz conteniendo la pila de llamada actual.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_persistent_resources</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_dump_persistent_resources());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_dump_regular_resources</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-persistent-resources" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_persistent_resources</refname>
<refpurpose>Retorna todos los recursos persistentes como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_dump_persistent_resources</methodname>
<void/>
</methodsynopsis>
<para>
Retorna todos los recursos persistentes como una matriz.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz conteniendo la pila de llamada actual.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_persistent_resources</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_dump_persistent_resources());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_dump_regular_resources</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-regular-resources" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_regular_resources</refname>
<refpurpose>Retorna todos los recursos regulares actuales como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_dump_regular_resources</methodname>
<void/>
</methodsynopsis>
<para>
Retorna todos los recursos regulares actuales como una matriz.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz conteniendo los recursos regulares actuales.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_regular_resources</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_dump_regular_resources());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_dump_persistent_resources</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-dump-regular-resources" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_dump_regular_resources</refname>
<refpurpose>Retorna todos los recursos regulares actuales como una matriz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_dump_regular_resources</methodname>
<void/>
</methodsynopsis>
<para>
Retorna todos los recursos regulares actuales como una matriz.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz conteniendo los recursos regulares actuales.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_dump_regular_resources</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
print_r(apd_dump_regular_resources());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_dump_persistent_resources</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,80 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-echo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_echo</refname>
<refpurpose>Echo hacia el socket de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_echo</methodname>
<methodparam><type>string</type><parameter>output</parameter></methodparam>
</methodsynopsis>
<para>
Usualmente es enviado por medio del socket para requerir información
acerca del script que esta corriendo.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>output</parameter></term>
<listitem>
<para>
La variable depurada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_echo</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_echo($i);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-echo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_echo</refname>
<refpurpose>Echo hacia el socket de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_echo</methodname>
<methodparam><type>string</type><parameter>output</parameter></methodparam>
</methodsynopsis>
<para>
Usualmente es enviado por medio del socket para requerir información
acerca del script que esta corriendo.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>output</parameter></term>
<listitem>
<para>
La variable depurada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_echo</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_echo($i);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,64 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-get-active-symbols" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_get_active_symbols</refname>
<refpurpose>Obtener una matriz con los nombres de las variables actuales en el ámbito local</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_get_active_symbols</methodname>
<void/>
</methodsynopsis>
<para>
Devuelve los nombres de todas las variables definidas en el ámbito
activo, (no sus valores).
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz multidimensional con todas las variables.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_get_active_symbols</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_echo(apd_get_active_symbols());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-get-active-symbols" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_get_active_symbols</refname>
<refpurpose>Obtener una matriz con los nombres de las variables actuales en el ámbito local</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>apd_get_active_symbols</methodname>
<void/>
</methodsynopsis>
<para>
Devuelve los nombres de todas las variables definidas en el ámbito
activo, (no sus valores).
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Una matriz multidimensional con todas las variables.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_get_active_symbols</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_echo(apd_get_active_symbols());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,100 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.apd-set-pprof-trace">
<refnamediv>
<refname>apd_set_pprof_trace</refname>
<refpurpose>Inicia la sesión de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>apd_set_pprof_trace</methodname>
<methodparam choice="opt"><type>string</type><parameter>dump_directory</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>fragment</parameter><initializer>"pprof"</initializer></methodparam>
</methodsynopsis>
<para>
Inicia el depurado al archivo <filename>pprof_{process_id}</filename> en el
directorio de volcado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dump_directory</parameter></term>
<listitem>
<para>
El directorio en el cual el archivo del volcado del análisis es escrito.
Si no se especifica, la configuración <option>apd.dumpdir</option> del
archivo &php.ini; será usada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fragment</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna la ruta del archivo de destino.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_pprof_trace</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_pprof_trace();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_set_session_trace</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.apd-set-pprof-trace">
<refnamediv>
<refname>apd_set_pprof_trace</refname>
<refpurpose>Inicia la sesión de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>apd_set_pprof_trace</methodname>
<methodparam choice="opt"><type>string</type><parameter>dump_directory</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>fragment</parameter><initializer>"pprof"</initializer></methodparam>
</methodsynopsis>
<para>
Inicia el depurado al archivo <filename>pprof_{process_id}</filename> en el
directorio de volcado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dump_directory</parameter></term>
<listitem>
<para>
El directorio en el cual el archivo del volcado del análisis es escrito.
Si no se especifica, la configuración <option>apd.dumpdir</option> del
archivo &php.ini; será usada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fragment</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retorna la ruta del archivo de destino.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_pprof_trace</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_pprof_trace();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>apd_set_session_trace</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,104 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session-trace-socket" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session_trace_socket</refname>
<refpurpose>Inicia la sesión remota de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_set_session_trace_socket</methodname>
<methodparam><type>string</type><parameter>tcp_server</parameter></methodparam>
<methodparam><type>int</type><parameter>socket_type</parameter></methodparam>
<methodparam><type>int</type><parameter>port</parameter></methodparam>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Conecta al servidor <parameter>tcp_server</parameter> especificado
(ej. tcplisten) y envía los datos de depurado al socket.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>tcp_server</parameter></term>
<listitem>
<para>
Socket IP o Unix Domain (como un archivo) del servidor TCP.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>socket_type</parameter></term>
<listitem>
<para>
Puede ser <constant>AF_UNIX</constant> para sockets basados en archivos o
<constant>APD_AF_INET</constant> para tcp/ip estándar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<para>
Se puede usar cualquier puerto, pero números más altos son mejores
dado que la mayoría de los números bajos pueden estar siendo usados
por otros servicios del sistema.
</para>
</listitem>
</varlistentry>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session_trace_socket</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session_trace_socket("127.0.0.1",APD_AF_INET,7112,0);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session-trace-socket" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session_trace_socket</refname>
<refpurpose>Inicia la sesión remota de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>apd_set_session_trace_socket</methodname>
<methodparam><type>string</type><parameter>tcp_server</parameter></methodparam>
<methodparam><type>int</type><parameter>socket_type</parameter></methodparam>
<methodparam><type>int</type><parameter>port</parameter></methodparam>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Conecta al servidor <parameter>tcp_server</parameter> especificado
(ej. tcplisten) y envía los datos de depurado al socket.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>tcp_server</parameter></term>
<listitem>
<para>
Socket IP o Unix Domain (como un archivo) del servidor TCP.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>socket_type</parameter></term>
<listitem>
<para>
Puede ser <constant>AF_UNIX</constant> para sockets basados en archivos o
<constant>APD_AF_INET</constant> para tcp/ip estándar.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>port</parameter></term>
<listitem>
<para>
Se puede usar cualquier puerto, pero números más altos son mejores
dado que la mayoría de los números bajos pueden estar siendo usados
por otros servicios del sistema.
</para>
</listitem>
</varlistentry>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session_trace_socket</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session_trace_socket("127.0.0.1",APD_AF_INET,7112,0);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,85 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session-trace" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session_trace</refname>
<refpurpose>Inicia la sesión de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_set_session_trace</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>dump_directory</parameter></methodparam>
</methodsynopsis>
<para>
Inicia el depurado al archivo <filename>apd_dump_{process_id}</filename> en el
directorio de volcado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
<varlistentry>
<term><parameter>dump_directory</parameter></term>
<listitem>
<para>
El directorio en el cual el archivo del volcado del análisis es escrito.
Si no se especifica, la configuración <literal>apd.dumpdir</literal> del
archivo &php.ini; será usada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session_trace</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session_trace(99);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session-trace" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session_trace</refname>
<refpurpose>Inicia la sesión de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_set_session_trace</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>dump_directory</parameter></methodparam>
</methodsynopsis>
<para>
Inicia el depurado al archivo <filename>apd_dump_{process_id}</filename> en el
directorio de volcado.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
<varlistentry>
<term><parameter>dump_directory</parameter></term>
<listitem>
<para>
El directorio en el cual el archivo del volcado del análisis es escrito.
Si no se especifica, la configuración <literal>apd.dumpdir</literal> del
archivo &php.ini; será usada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session_trace</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session_trace(99);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,73 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session</refname>
<refpurpose>Cambia o configura el nivel actual de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_set_session</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Esto puede ser usado para incrementar o disminuir el depurado en un área
diferente de la aplicación.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session(9);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.apd-set-session" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>apd_set_session</refname>
<refpurpose>Cambia o configura el nivel actual de depurado</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>apd_set_session</methodname>
<methodparam><type>int</type><parameter>debug_level</parameter></methodparam>
</methodsynopsis>
<para>
Esto puede ser usado para incrementar o disminuir el depurado en un área
diferente de la aplicación.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&apd.debug-level.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.void;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>apd_set_session</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
apd_set_session(9);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,107 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.override-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>override_function</refname>
<refpurpose>Pasa por alto funciones integradas</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>override_function</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam><type>string</type><parameter>function_args</parameter></methodparam>
<methodparam><type>string</type><parameter>function_code</parameter></methodparam>
</methodsynopsis>
<para>
Pasa por alto funciones integradas al reemplazarlas en la tabla de símbolos.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>function_name</parameter></term>
<listitem>
<para>
La función para pasar por alto.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>function_args</parameter></term>
<listitem>
<para>
Los argumentos de la función, como una cadena separada por comas.
</para>
<para>
Usualmente se pasa este parámetro así como el parámetro
<parameter>function_code</parameter>, como una sola cadena entre
comillas simples. La razón para usar cadenas entre comillas simples
es para proteger los nombres de variables del análisis sintáctico,
de otra manera, si se utilizan comillas dobles sería necesario usar
secuencias de escape en los nombres de las variables, como por
ejemplo: \<varname>$your_var</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>function_code</parameter></term>
<listitem>
<para>
El nuevo código para la función.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>override_function</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.override-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>override_function</refname>
<refpurpose>Pasa por alto funciones integradas</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>override_function</methodname>
<methodparam><type>string</type><parameter>function_name</parameter></methodparam>
<methodparam><type>string</type><parameter>function_args</parameter></methodparam>
<methodparam><type>string</type><parameter>function_code</parameter></methodparam>
</methodsynopsis>
<para>
Pasa por alto funciones integradas al reemplazarlas en la tabla de símbolos.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>function_name</parameter></term>
<listitem>
<para>
La función para pasar por alto.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>function_args</parameter></term>
<listitem>
<para>
Los argumentos de la función, como una cadena separada por comas.
</para>
<para>
Usualmente se pasa este parámetro así como el parámetro
<parameter>function_code</parameter>, como una sola cadena entre
comillas simples. La razón para usar cadenas entre comillas simples
es para proteger los nombres de variables del análisis sintáctico,
de otra manera, si se utilizan comillas dobles sería necesario usar
secuencias de escape en los nombres de las variables, como por
ejemplo: \<varname>$your_var</varname>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>function_code</parameter></term>
<listitem>
<para>
El nuevo código para la función.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>override_function</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
override_function('test', '$a,$b', 'echo "DOING TEST"; return $a * $b;');
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,89 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.rename-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>rename_function</refname>
<refpurpose>Renombra original_name como new_name en la tabla global de funciones</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>rename_function</methodname>
<methodparam><type>string</type><parameter>original_name</parameter></methodparam>
<methodparam><type>string</type><parameter>new_name</parameter></methodparam>
</methodsynopsis>
<para>
Renombra original_name como new_name en la tabla global de funciones. Es útil
para temporalmente pasar por alto funciones integradas.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>original_name</parameter></term>
<listitem>
<para>
El nombre original de la función.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>new_name</parameter></term>
<listitem>
<para>
El nuevo nombre para la función <parameter>original_name</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>rename_function</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<refentry xml:id="function.rename-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>rename_function</refname>
<refpurpose>Renombra original_name como new_name en la tabla global de funciones</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>rename_function</methodname>
<methodparam><type>string</type><parameter>original_name</parameter></methodparam>
<methodparam><type>string</type><parameter>new_name</parameter></methodparam>
</methodsynopsis>
<para>
Renombra original_name como new_name en la tabla global de funciones. Es útil
para temporalmente pasar por alto funciones integradas.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>original_name</parameter></term>
<listitem>
<para>
El nombre original de la función.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>new_name</parameter></term>
<listitem>
<para>
El nuevo nombre para la función <parameter>original_name</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>rename_function</function> ejemplo</title>
<programlisting role="php">
<![CDATA[
<?php
rename_function('mysql_connect', 'debug_mysql_connect' );
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,97 +1,97 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<section xml:id="apd.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Opciones de Configuración de APD</title>
<tgroup cols="4">
<thead>
<row>
<entry>Nombre</entry>
<entry>Por defecto</entry>
<entry>Cambiable</entry>
<entry>Registro de cambios</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.apd.dumpdir">apd.dumpdir</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apd.statement-tracing">apd.statement_tracing</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Disponible desde APD 0.9.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.apd.dumpdir">
<term>
<parameter>apd.dumpdir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Configura el directorio en el cual APS escribe los archivos
de volcado del performance. Se puede especificar una ruta absoluta
o una relativa.
</para>
<para>
Se puede especificar un directorio diferente como un argumento
de <function>apd_set_pprof_trace</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apd.statement-tracing">
<term>
<parameter>apd.statement_tracing</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Especifica si se hacen o no rastreos por línea. Activar esto (1) impactará en el
desempeño de la aplicación.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<section xml:id="apd.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>Opciones de Configuración de APD</title>
<tgroup cols="4">
<thead>
<row>
<entry>Nombre</entry>
<entry>Por defecto</entry>
<entry>Cambiable</entry>
<entry>Registro de cambios</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.apd.dumpdir">apd.dumpdir</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.apd.statement-tracing">apd.statement_tracing</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Disponible desde APD 0.9.</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.apd.dumpdir">
<term>
<parameter>apd.dumpdir</parameter>
<type>string</type>
</term>
<listitem>
<para>
Configura el directorio en el cual APS escribe los archivos
de volcado del performance. Se puede especificar una ruta absoluta
o una relativa.
</para>
<para>
Se puede especificar un directorio diferente como un argumento
de <function>apd_set_pprof_trace</function>.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.apd.statement-tracing">
<term>
<parameter>apd.statement_tracing</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
Especifica si se hacen o no rastreos por línea. Activar esto (1) impactará en el
desempeño de la aplicación.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,91 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<chapter xml:id="apd.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="apd.requirements">
&reftitle.required;
&no.requirement;
</section>
<section xml:id="apd.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;apd">&url.pecl.package;apd</link>.
</para>
<para>
&pecl.windows.download;
</para>
<para>
En el archivo INI agregue las siguientes líneas:
</para>
<para>
<programlisting role="php.ini">
<![CDATA[
zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0
]]>
</programlisting>
</para>
<para>
Dependiendo de la compilación de PHP, la directiva zend_extension puede ser
una de las siguientes:
</para>
<para>
<programlisting role="script">
<![CDATA[
zend_extension (non ZTS, non debug build)
zend_extension_ts ( ZTS, non debug build)
zend_extension_debug (non ZTS, debug build)
zend_extension_debug_ts ( ZTS, debug build)
]]>
</programlisting>
</para>
</section>
<section xml:id="apd.installwin32">
<title>Compilando en Win32</title>
<para>
Para compilar APD bajo Windows se necesita un ambiente de compilado
de PHP que funcione tal como está descrito en http://php.net/
-- básicamente se requiere tener Microsoft Visual C++,
win32build.zip, bison/flex y algún conocimiento sobre como logar
que todo esto funcione. También se debe asegurar que adp.dsp
tenga fines de línea tipo DOS; si son de tipo unix, Microsoft
Visual C++ no lo reconocerá correctamente.
</para>
</section>
&reference.apd.ini;
<section xml:id="apd.resources">
&reftitle.resources;
&no.resource;
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jpberdejo Status: ready -->
<chapter xml:id="apd.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="apd.requirements">
&reftitle.required;
&no.requirement;
</section>
<section xml:id="apd.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;apd">&url.pecl.package;apd</link>.
</para>
<para>
&pecl.windows.download;
</para>
<para>
En el archivo INI agregue las siguientes líneas:
</para>
<para>
<programlisting role="php.ini">
<![CDATA[
zend_extension = /absolute/path/to/apd.so
apd.dumpdir = /absolute/path/to/trace/directory
apd.statement_tracing = 0
]]>
</programlisting>
</para>
<para>
Dependiendo de la compilación de PHP, la directiva zend_extension puede ser
una de las siguientes:
</para>
<para>
<programlisting role="script">
<![CDATA[
zend_extension (non ZTS, non debug build)
zend_extension_ts ( ZTS, non debug build)
zend_extension_debug (non ZTS, debug build)
zend_extension_debug_ts ( ZTS, debug build)
]]>
</programlisting>
</para>
</section>
<section xml:id="apd.installwin32">
<title>Compilando en Win32</title>
<para>
Para compilar APD bajo Windows se necesita un ambiente de compilado
de PHP que funcione tal como está descrito en http://php.net/
-- básicamente se requiere tener Microsoft Visual C++,
win32build.zip, bison/flex y algún conocimiento sobre como logar
que todo esto funcione. También se debe asegurar que adp.dsp
tenga fines de línea tipo DOS; si son de tipo unix, Microsoft
Visual C++ no lo reconocerá correctamente.
</para>
</section>
&reference.apd.ini;
<section xml:id="apd.resources">
&reftitle.resources;
&no.resource;
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,47 +1,47 @@
<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision$ -->
<!--
Do NOT translate this file
-->
<versions>
<function name='apd_breakpoint' from='PECL apd &gt;= 0.2'/>
<function name='apd_callstack' from='PECL apd 0.2-0.4'/>
<function name='apd_clunk' from='PECL apd 0.2-0.4'/>
<function name='apd_continue' from='PECL apd &gt;= 0.2'/>
<function name='apd_croak' from='PECL apd 0.2-0.4'/>
<function name='apd_dump_function_table' from='Unknown'/>
<function name='apd_dump_persistent_resources' from='PECL apd 0.2-0.4'/>
<function name='apd_dump_regular_resources' from='PECL apd 0.2-0.4'/>
<function name='apd_echo' from='PECL apd &gt;= 0.2'/>
<function name='apd_get_active_symbols' from='PECL apd 0.2'/>
<function name='apd_get_function_table' from='PECL apd 0.2'/>
<function name='apd_set_browser_trace' from='PECL apd &gt;= 0.9'/>
<function name='apd_set_pprof_trace' from='PECL apd &gt;= 0.2'/>
<function name='apd_set_session' from='PECL apd 0.2-0.4'/>
<function name='apd_set_session_trace' from='PECL apd 0.2-0.4'/>
<function name='apd_set_session_trace_socket' from='PECL apd &gt;= 0.2'/>
<function name='dump_function_table' from='PECL apd 0.2-0.4'/>
<function name='override_function' from='PECL apd &gt;= 0.2'/>
<function name='rename_function' from='PECL apd &gt;= 0.2'/>
</versions>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision$ -->
<!--
Do NOT translate this file
-->
<versions>
<function name='apd_breakpoint' from='PECL apd &gt;= 0.2'/>
<function name='apd_callstack' from='PECL apd 0.2-0.4'/>
<function name='apd_clunk' from='PECL apd 0.2-0.4'/>
<function name='apd_continue' from='PECL apd &gt;= 0.2'/>
<function name='apd_croak' from='PECL apd 0.2-0.4'/>
<function name='apd_dump_function_table' from='Unknown'/>
<function name='apd_dump_persistent_resources' from='PECL apd 0.2-0.4'/>
<function name='apd_dump_regular_resources' from='PECL apd 0.2-0.4'/>
<function name='apd_echo' from='PECL apd &gt;= 0.2'/>
<function name='apd_get_active_symbols' from='PECL apd 0.2'/>
<function name='apd_get_function_table' from='PECL apd 0.2'/>
<function name='apd_set_browser_trace' from='PECL apd &gt;= 0.9'/>
<function name='apd_set_pprof_trace' from='PECL apd &gt;= 0.2'/>
<function name='apd_set_session' from='PECL apd 0.2-0.4'/>
<function name='apd_set_session_trace' from='PECL apd 0.2-0.4'/>
<function name='apd_set_session_trace_socket' from='PECL apd &gt;= 0.2'/>
<function name='dump_function_table' from='PECL apd 0.2-0.4'/>
<function name='override_function' from='PECL apd &gt;= 0.2'/>
<function name='rename_function' from='PECL apd &gt;= 0.2'/>
</versions>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,199 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d6f393442baa05d31a005a940aacf5185d8cd563 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_splice</refname>
<refpurpose>Elimina una porción del array y la reemplaza con algo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_splice</methodname>
<methodparam><type>array</type><parameter role="reference">input</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>replacement</parameter></methodparam>
</methodsynopsis>
<para>
Elimina los elementos designados por <parameter>offset</parameter> y
<parameter>length</parameter> del array <parameter>input</parameter>,
y los reemplaza con los elementos del
aray <parameter>replacement</parameter> array, si se proporcionan.
</para>
<para>
Observe que las clave numéricas de <parameter>input</parameter> no se preservan.
</para>
<note>
<simpara>
Si <parameter>replacement</parameter> no es un array, será
<link linkend="language.types.array.casting">convertido</link>
a uno (esto es, <code>(array) $parámetro</code>). Esto puede resultar en un comportamiento
inesperado cuando se usa un <parameter>replacement</parameter> objeto o &null;
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>input</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Si <parameter>offset</parameter> es positivo, el inicio de la porción
eliminada estará en ese índice desde el principio del
array <parameter>input</parameter>. Si <parameter>offset</parameter>
es negativo, se comienza desde el final del
array <parameter>input</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Si se omite <parameter>length</parameter>, se elimina todo
desde <parameter>offset</parameter> hasta el final del array. Si
<parameter>length</parameter> se especifica y es positivo,
se eliminarán tantos elementos como contenga el valor de length. Si
<parameter>length</parameter> se especifica y es negativo,
el final de la porción eliminada será de tantos elementos como contenga length desde
el final del array. Consejo: para eliminar todo desde
<parameter>offset</parameter> hasta el final del array cuando
<parameter>replacement</parameter> también se especifique, use
<literal>count($input)</literal> para
<parameter>length</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacement</parameter></term>
<listitem>
<para>
Si se especifica el array <parameter>replacement</parameter>, los
elementos eliminados serán reemplazados con los elementos de este array.
</para>
<para>
Si <parameter>offset</parameter> y <parameter>length</parameter>
son tales que nada se elimina, entonces los elementos del
array <parameter>replacement</parameter> serán insertados en el lugar
especificado por <parameter>offset</parameter>. Observe que las claves del
array replacement no se preservan.
</para>
<para>
Si <parameter>replacement</parameter> es sólo un elemento, no es
necesario poner <literal>array()</literal>
alrededor de él, a menos que el elemento sea un array, un objeto o &null;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que consiste en los elementos extraídos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<programlisting role="php">
<![CDATA[
<?php
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
// "azul", "negro", "granate")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
// "azul", "púpura", "amarillo");
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<para>
Las siguientes sentencias cambian el valor de <varname>$entrada</varname>
de la misma manera:
</para>
<programlisting role="php">
<![CDATA[
<?php
array_push($entrada, $x, $y);
array_splice($entrada, count($entrada), 0, array($x, $y));
array_pop($entrada);
array_splice($entrada, -1);
array_shift($entrada);
array_splice($entrada, 0, 1);
array_unshift($entrada, $x, $y);
array_splice($entrada, 0, 0, array($x, $y));
$entrada[$x] = $y; // para arrays donde la clave es igual al índice
array_splice($entrada, $x, 1, $y);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_slice</function></member>
<member><function>unset</function></member>
<member><function>array_merge</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: d6f393442baa05d31a005a940aacf5185d8cd563 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-splice" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_splice</refname>
<refpurpose>Elimina una porción del array y la reemplaza con algo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_splice</methodname>
<methodparam><type>array</type><parameter role="reference">input</parameter></methodparam>
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>replacement</parameter></methodparam>
</methodsynopsis>
<para>
Elimina los elementos designados por <parameter>offset</parameter> y
<parameter>length</parameter> del array <parameter>input</parameter>,
y los reemplaza con los elementos del
aray <parameter>replacement</parameter> array, si se proporcionan.
</para>
<para>
Observe que las clave numéricas de <parameter>input</parameter> no se preservan.
</para>
<note>
<simpara>
Si <parameter>replacement</parameter> no es un array, será
<link linkend="language.types.array.casting">convertido</link>
a uno (esto es, <code>(array) $parámetro</code>). Esto puede resultar en un comportamiento
inesperado cuando se usa un <parameter>replacement</parameter> objeto o &null;
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>input</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Si <parameter>offset</parameter> es positivo, el inicio de la porción
eliminada estará en ese índice desde el principio del
array <parameter>input</parameter>. Si <parameter>offset</parameter>
es negativo, se comienza desde el final del
array <parameter>input</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Si se omite <parameter>length</parameter>, se elimina todo
desde <parameter>offset</parameter> hasta el final del array. Si
<parameter>length</parameter> se especifica y es positivo,
se eliminarán tantos elementos como contenga el valor de length. Si
<parameter>length</parameter> se especifica y es negativo,
el final de la porción eliminada será de tantos elementos como contenga length desde
el final del array. Consejo: para eliminar todo desde
<parameter>offset</parameter> hasta el final del array cuando
<parameter>replacement</parameter> también se especifique, use
<literal>count($input)</literal> para
<parameter>length</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replacement</parameter></term>
<listitem>
<para>
Si se especifica el array <parameter>replacement</parameter>, los
elementos eliminados serán reemplazados con los elementos de este array.
</para>
<para>
Si <parameter>offset</parameter> y <parameter>length</parameter>
son tales que nada se elimina, entonces los elementos del
array <parameter>replacement</parameter> serán insertados en el lugar
especificado por <parameter>offset</parameter>. Observe que las claves del
array replacement no se preservan.
</para>
<para>
Si <parameter>replacement</parameter> es sólo un elemento, no es
necesario poner <literal>array()</literal>
alrededor de él, a menos que el elemento sea un array, un objeto o &null;.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que consiste en los elementos extraídos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<programlisting role="php">
<![CDATA[
<?php
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 2);
// $entrada ahora es array("rojo", "verde")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, -1);
// $entrada ahora es array("rojo", "amarillo")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 1, count($entrada), "naranja");
// $entrada ahora es array("rojo", "naranja")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, -1, 1, array("negro", "granate"));
// $entrada ahora es array("rojo", "verde",
// "azul", "negro", "granate")
$entrada = array("rojo", "verde", "azul", "amarillo");
array_splice($entrada, 3, 0, "púpura");
// $entrada ahora es array("rojo", "verde",
// "azul", "púpura", "amarillo");
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplos de <function>array_splice</function></title>
<para>
Las siguientes sentencias cambian el valor de <varname>$entrada</varname>
de la misma manera:
</para>
<programlisting role="php">
<![CDATA[
<?php
array_push($entrada, $x, $y);
array_splice($entrada, count($entrada), 0, array($x, $y));
array_pop($entrada);
array_splice($entrada, -1);
array_shift($entrada);
array_splice($entrada, 0, 1);
array_unshift($entrada, $x, $y);
array_splice($entrada, 0, 0, array($x, $y));
$entrada[$x] = $y; // para arrays donde la clave es igual al índice
array_splice($entrada, $x, 1, $y);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_slice</function></member>
<member><function>unset</function></member>
<member><function>array_merge</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,179 +1,179 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-udiff-assoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_udiff_assoc</refname>
<refpurpose>Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_udiff_assoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la diferencia entre arrays con una comprobación de indices adicional, compara
la información mediante una función de llamada de retorno.
</para>
<note>
<simpara>
Por favor, observe que esta función sólo comprueba una dimensión de un array
n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo,
<literal>array_udiff_assoc($array1[0], $array2[0], "alguna_func_comparacion");</literal>.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>array_udiff_assoc</function> devuelve un <type>array</type>
que contiene todos los valores de <parameter>array1</parameter>
que no están presentes en ninguno de los demás argumentos.
Observe que las claves se usan en la comparación a diferencia de
<function>array_diff</function> y <function>array_udiff</function>.
La comparación de la información de los arrays' se lleva a cabo usando una llamada de retorno
proporcionada por el usuario. En este aspecto, el comportamiento es opuesto al de
<function>array_diff_assoc</function>, que usa una función interna para la
comparación.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_udiff_assoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
class cr {
private $miembro_privado;
function cr($val)
{
$this->miembro_privado = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->miembro_privado === $b->miembro_privado) return 0;
return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$resultado = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0.1] => cr Object
(
[miembro_privado:private] => 9
)
[0.5] => cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
</screen>
</example>
</para>
<simpara>
En el ejemplo de arriba se ve que el par <literal>"1" =&gt; new cr(4)</literal>
está presente en ambos arrays, y que, de esta manera, no está en la salida de la
función.
</simpara>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_diff_assoc</function></member>
<member><function>array_diff_uassoc</function></member>
<member><function>array_udiff</function></member>
<member><function>array_udiff_uassoc</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-udiff-assoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_udiff_assoc</refname>
<refpurpose>Computa la diferencia entre arrays con una comprobación de indices adicional, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_udiff_assoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la diferencia entre arrays con una comprobación de indices adicional, compara
la información mediante una función de llamada de retorno.
</para>
<note>
<simpara>
Por favor, observe que esta función sólo comprueba una dimensión de un array
n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo,
<literal>array_udiff_assoc($array1[0], $array2[0], "alguna_func_comparacion");</literal>.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>array_udiff_assoc</function> devuelve un <type>array</type>
que contiene todos los valores de <parameter>array1</parameter>
que no están presentes en ninguno de los demás argumentos.
Observe que las claves se usan en la comparación a diferencia de
<function>array_diff</function> y <function>array_udiff</function>.
La comparación de la información de los arrays' se lleva a cabo usando una llamada de retorno
proporcionada por el usuario. En este aspecto, el comportamiento es opuesto al de
<function>array_diff_assoc</function>, que usa una función interna para la
comparación.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_udiff_assoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
class cr {
private $miembro_privado;
function cr($val)
{
$this->miembro_privado = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->miembro_privado === $b->miembro_privado) return 0;
return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$resultado = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0.1] => cr Object
(
[miembro_privado:private] => 9
)
[0.5] => cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
</screen>
</example>
</para>
<simpara>
En el ejemplo de arriba se ve que el par <literal>"1" =&gt; new cr(4)</literal>
está presente en ambos arrays, y que, de esta manera, no está en la salida de la
función.
</simpara>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_diff_assoc</function></member>
<member><function>array_diff_uassoc</function></member>
<member><function>array_udiff</function></member>
<member><function>array_udiff_uassoc</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,204 +1,204 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-udiff-uassoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_udiff_uassoc</refname>
<refpurpose>Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_udiff_uassoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
<methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la diferencia entre arrays con una verificación de índices adicional, compara
la información y los índices mediante una función de llamada de retorno.
</para>
<para>
Observe que las claves son usadas en la comparación, a diferencia de
<function>array_diff</function> y <function>array_udiff</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de llamada de retorno de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
<para>
La comparación de la información de los arrays se lleva a cabo usando una llamada de retorno
proporcionada por el usuario : <parameter>data_compare_func</parameter>. En este aspecto,
el comportamiento es opuesto al de
<function>array_diff_assoc</function>, que usa una función interna para la
comparación.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key_compare_func</parameter></term>
<listitem>
<para>
La comparación de las claves (índices) se hace también mediante la función de llamada de retorno
<parameter>key_compare_func</parameter>. Este comportamiento es diferente del de
<function>array_udiff_assoc</function>, ya que esta última compara
los índices usando una función interna.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un <type>array</type> que contiene todos los valores de
<parameter>array1</parameter> que no están presentes en ningno de los demás
argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_udiff_uassoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
class cr {
private $miembro_privado;
function cr($val)
{
$this->miembro_privado = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->miembro_privado === $b->miembro_privado) return 0;
return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
}
static function comp_func_key($a, $b)
{
if ($a === $b) return 0;
return ($a > $b)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$resultado = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0.1] => cr Object
(
[miembro_privado:private] => 9
)
[0.5] => cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
</screen>
</example>
</para>
<simpara>
En el ejemplo de arriba se ve que el par <literal>"1" =&gt; new cr(4)</literal>
está presente en ambos arrays, y que, de esta manera, no está en la salida de la
función. Recuerde que debe de proporcionar 2 funciones de llamada de retorno.
</simpara>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Por favor, observe que esta función sólo comprueba una dimensión de un array
n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo,
<literal>array_udiff_uassoc($array1[0], $array2[0], "data_compare_func",
"key_compare_func");</literal>.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_diff_assoc</function></member>
<member><function>array_udiff</function></member>
<member><function>array_udiff_assoc</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-udiff-uassoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_udiff_uassoc</refname>
<refpurpose>Computa la diferencia entre arrays con una verificación de índices adicional, compara la información y los índices mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_udiff_uassoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
<methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la diferencia entre arrays con una verificación de índices adicional, compara
la información y los índices mediante una función de llamada de retorno.
</para>
<para>
Observe que las claves son usadas en la comparación, a diferencia de
<function>array_diff</function> y <function>array_udiff</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de llamada de retorno de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
<para>
La comparación de la información de los arrays se lleva a cabo usando una llamada de retorno
proporcionada por el usuario : <parameter>data_compare_func</parameter>. En este aspecto,
el comportamiento es opuesto al de
<function>array_diff_assoc</function>, que usa una función interna para la
comparación.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key_compare_func</parameter></term>
<listitem>
<para>
La comparación de las claves (índices) se hace también mediante la función de llamada de retorno
<parameter>key_compare_func</parameter>. Este comportamiento es diferente del de
<function>array_udiff_assoc</function>, ya que esta última compara
los índices usando una función interna.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un <type>array</type> que contiene todos los valores de
<parameter>array1</parameter> que no están presentes en ningno de los demás
argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_udiff_uassoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
class cr {
private $miembro_privado;
function cr($val)
{
$this->miembro_privado = $val;
}
static function comp_func_cr($a, $b)
{
if ($a->miembro_privado === $b->miembro_privado) return 0;
return ($a->miembro_privado > $b->miembro_privado)? 1:-1;
}
static function comp_func_key($a, $b)
{
if ($a === $b) return 0;
return ($a > $b)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);
$resultado = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0.1] => cr Object
(
[miembro_privado:private] => 9
)
[0.5] => cr Object
(
[miembro_privado:private] => 12
)
[0] => cr Object
(
[miembro_privado:private] => 23
)
)
]]>
</screen>
</example>
</para>
<simpara>
En el ejemplo de arriba se ve que el par <literal>"1" =&gt; new cr(4)</literal>
está presente en ambos arrays, y que, de esta manera, no está en la salida de la
función. Recuerde que debe de proporcionar 2 funciones de llamada de retorno.
</simpara>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Por favor, observe que esta función sólo comprueba una dimensión de un array
n-dimensional. Por supuesto, se pueden comprobar dimensiones más profundas usando, por ejemplo,
<literal>array_udiff_uassoc($array1[0], $array2[0], "data_compare_func",
"key_compare_func");</literal>.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_diff</function></member>
<member><function>array_diff_assoc</function></member>
<member><function>array_udiff</function></member>
<member><function>array_udiff_assoc</function></member>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,129 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect-assoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect_assoc</refname>
<refpurpose>Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect_assoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la intersección de arrays con una comprobación de índices adicional, compara
la información mediante una función de llamada de retorno.
</para>
<para>
Observe que las claves se usan en la comparación, a diferencia de
<function>array_uintersect</function>.
La información se compara usando una función de llamada de retorno.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
Para la comparación se usa la función de llamada de retorno proporcionada por el usuario.
Debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve una matriz que contiene todos los valores de
<parameter>array1</parameter> que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect_assoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_uintersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect-assoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect_assoc</refname>
<refpurpose>Computa la intersección de arrays con una comprobación de índices adicional, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect_assoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la intersección de arrays con una comprobación de índices adicional, compara
la información mediante una función de llamada de retorno.
</para>
<para>
Observe que las claves se usan en la comparación, a diferencia de
<function>array_uintersect</function>.
La información se compara usando una función de llamada de retorno.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
Para la comparación se usa la función de llamada de retorno proporcionada por el usuario.
Debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve una matriz que contiene todos los valores de
<parameter>array1</parameter> que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect_assoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect_assoc($array1, $array2, "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_uintersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,136 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect-uassoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect_uassoc</refname>
<refpurpose>Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect_uassoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
<methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la intersección de arrays con una comprobación de índices adicional, compara
la información y los índices mediante funciones de llamada de retorno. Observe que las claves
se usan en la comparación, a diferencia de <function>array_uintersect</function>.
La información y los índices se comparan usando funciones de llamada de retorno distintas.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
Para la comparación se usa la función de llamada de retorno proporcionada por el usuario.
Debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key_compare_func</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación de claves.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que contiene todos los valores de
<parameter>array1</parameter> que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect_uassoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
[b] => marrón
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_uintersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_uintersect_assoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect-uassoc" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect_uassoc</refname>
<refpurpose>Computa la intersección de arrays con una comprobación de índices adicional, compara la información y los índices mediante funciones de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect_uassoc</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
<methodparam><type>callback</type><parameter>key_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa la intersección de arrays con una comprobación de índices adicional, compara
la información y los índices mediante funciones de llamada de retorno. Observe que las claves
se usan en la comparación, a diferencia de <function>array_uintersect</function>.
La información y los índices se comparan usando funciones de llamada de retorno distintas.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
Para la comparación se usa la función de llamada de retorno proporcionada por el usuario.
Debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>key_compare_func</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación de claves.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que contiene todos los valores de
<parameter>array1</parameter> que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect_uassoc</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
[b] => marrón
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_uintersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_intersect_uassoc</function></member>
<member><function>array_uintersect_assoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,127 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect</refname>
<refpurpose>Computa una intersección de arrays, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa una intersección de arrays, compara la información mediante una función de llamada de retorno.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de llamada de retorno de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que contiene todos los valores de <parameter>array1</parameter>
que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
[b] => marrón
[0] => rojo
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-uintersect" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_uintersect</refname>
<refpurpose>Computa una intersección de arrays, compara la información mediante una función de llamada de retorno</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>array_uintersect</methodname>
<methodparam><type>array</type><parameter>array1</parameter></methodparam>
<methodparam><type>array</type><parameter>array2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam>
<methodparam><type>callback</type><parameter>data_compare_func</parameter></methodparam>
</methodsynopsis>
<para>
Computa una intersección de arrays, compara la información mediante una función de llamada de retorno.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array1</parameter></term>
<listitem>
<para>
El primer array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>array2</parameter></term>
<listitem>
<para>
El segundo array.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data_compare_func</parameter></term>
<listitem>
<para>
La función de llamada de retorno de comparación.
</para>
<para>
La función de llamada de retorno proporcionada por el usuario se usa para la comparación.
Debe devolver un valor de tipo integer menor que, igual, o mayor que cero si
el primer argumento es considerado, respectivamente, menor que, igual,
o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array que contiene todos los valores de <parameter>array1</parameter>
que están presentes en todos los argumentos.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_uintersect</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = array("a" => "verde", "b" => "marrón", "c" => "azul", "rojo");
$array2 = array("a" => "VERDE", "B" => "marrón", "amarillo", "rojo");
print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => verde
[b] => marrón
[0] => rojo
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_intersect</function></member>
<member><function>array_intersect_assoc</function></member>
<member><function>array_uintersect_assoc</function></member>
<member><function>array_uintersect_uassoc</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,114 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-unshift" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_unshift</refname>
<refpurpose>Añadir al inicio de un array uno a más elementos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>array_unshift</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_unshift</function> añade los elementos pasados al inicio
de <parameter>array</parameter>. Observe que la lista de elementos se
añade como un todo, por lo que los elementos añadidos permanecen en el mismo
orden. Todas las claves numéricas del array serán modificadas empezando a contar desde
cero mientras que las claves literales no se tocan.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>var</parameter></term>
<listitem>
<para>
La variable añadida al inicio.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el nuevo número de elementos del <parameter>array</parameter>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_unshift</function></title>
<programlisting role="php">
<![CDATA[
<?php
$cola = array("naranja", "banana");
array_unshift($cola, "manzana", "frambuesa");
print_r($cola);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[0] => manzana
[1] => frambuesa
[2] => naranja
[3] => banana
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_shift</function></member>
<member><function>array_push</function></member>
<member><function>array_pop</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.array-unshift" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_unshift</refname>
<refpurpose>Añadir al inicio de un array uno a más elementos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>array_unshift</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>mixed</type><parameter>var</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_unshift</function> añade los elementos pasados al inicio
de <parameter>array</parameter>. Observe que la lista de elementos se
añade como un todo, por lo que los elementos añadidos permanecen en el mismo
orden. Todas las claves numéricas del array serán modificadas empezando a contar desde
cero mientras que las claves literales no se tocan.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>var</parameter></term>
<listitem>
<para>
La variable añadida al inicio.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el nuevo número de elementos del <parameter>array</parameter>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>array_unshift</function></title>
<programlisting role="php">
<![CDATA[
<?php
$cola = array("naranja", "banana");
array_unshift($cola, "manzana", "frambuesa");
print_r($cola);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[0] => manzana
[1] => frambuesa
[2] => naranja
[3] => banana
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>array_shift</function></member>
<member><function>array_push</function></member>
<member><function>array_pop</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,130 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.compact" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>compact</refname>
<refpurpose>Crear un array que contiene variables y sus valores</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>compact</methodname>
<methodparam><type>mixed</type><parameter>varname</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
Crea un array que contiene variables y sus valores.
</para>
<para>
Por cada variable, <function>compact</function> busca una
variable con ese nombre en la tabla de símbolos actual y las añade
al array de salida de modo que el nombre de la variable se convierte en la clave
y el contenido de la variable se convierte en el valor para esa clave.
En pocas palabras, hace lo contraior que <function>extract</function>.
</para>
<para>
Cualquier cadena que no esté establecida será simplemente saltada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>varname</parameter></term>
<listitem>
<para>
<function>compact</function> toma un número variable de parámetros.
Cada parámetro puede ser una cadena que contiene el nombre de la
variable, o un array de nombres de variables. El array puede contener otros
arrays de nombres de variables dentro de él; <function>compact</function>
los trata recursivamente.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array de salida con todas las variables añadidas a él.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>compact</function></title>
<programlisting role="php">
<![CDATA[
<?php
$ciudad = "San Francisco";
$estado = "CA";
$evento = "SIGGRAPH";
$vars_región = array("ciudad", "estado");
$resultado = compact("evento", "nada_aquí", $vars_región);
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[evento] => SIGGRAPH
[ciudad] => San Francisco
[estado] => CA
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<title>A tener en consideración</title>
<para>
Ya que las <link linkend="language.variables.variable">variables
variables</link> no se pueden usar con
<link linkend="language.variables.superglobals">Arrays Superglobales
</link> de PHP dentro de funciones, los arraya Superglobales no pueden ser pasados
a <function>compact</function>.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>extract</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.compact" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>compact</refname>
<refpurpose>Crear un array que contiene variables y sus valores</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>compact</methodname>
<methodparam><type>mixed</type><parameter>varname</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
Crea un array que contiene variables y sus valores.
</para>
<para>
Por cada variable, <function>compact</function> busca una
variable con ese nombre en la tabla de símbolos actual y las añade
al array de salida de modo que el nombre de la variable se convierte en la clave
y el contenido de la variable se convierte en el valor para esa clave.
En pocas palabras, hace lo contraior que <function>extract</function>.
</para>
<para>
Cualquier cadena que no esté establecida será simplemente saltada.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>varname</parameter></term>
<listitem>
<para>
<function>compact</function> toma un número variable de parámetros.
Cada parámetro puede ser una cadena que contiene el nombre de la
variable, o un array de nombres de variables. El array puede contener otros
arrays de nombres de variables dentro de él; <function>compact</function>
los trata recursivamente.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un array de salida con todas las variables añadidas a él.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>compact</function></title>
<programlisting role="php">
<![CDATA[
<?php
$ciudad = "San Francisco";
$estado = "CA";
$evento = "SIGGRAPH";
$vars_región = array("ciudad", "estado");
$resultado = compact("evento", "nada_aquí", $vars_región);
print_r($resultado);
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
Array
(
[evento] => SIGGRAPH
[ciudad] => San Francisco
[estado] => CA
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<title>A tener en consideración</title>
<para>
Ya que las <link linkend="language.variables.variable">variables
variables</link> no se pueden usar con
<link linkend="language.variables.superglobals">Arrays Superglobales
</link> de PHP dentro de funciones, los arraya Superglobales no pueden ser pasados
a <function>compact</function>.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>extract</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,198 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.each" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>each</refname>
<refpurpose>Devolver el par clave/valor actual de un array y avanzar el cursor del array</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>each</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
Devuelve el par clave/valor actual de un array y avanza el cursor del
array.
</para>
<para>
Después de que <function>each</function> haya sido ejecutado, el cursor del array
será puesto en el siguiente elemento del array, o pasado el último
elemento si alcanza el final del array. Se tiene que usar
<function>reset</function> si se quiere atravesar de nuevo el
array usando each.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el par clave/valor actual del array dado por
<parameter>array</parameter>. Este par es devuelto en un array de cuatro
elementos, con las claves <literal>0</literal>, <literal>1</literal>,
<literal>key</literal>, y <literal>value</literal>. Los elementos
<literal>0</literal> y <literal>key</literal> contienen el nombre de la clave del
elemento del array, y <literal>1</literal> y <literal>value</literal>
contienen la información.
</para>
<para>
Si el puntero interno del array apunta al final del contenido de
array, <function>each</function> devuelve
&false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>each</function></title>
<programlisting role="php">
<![CDATA[
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
]]>
</programlisting>
<para>
<varname>$bar</varname> ahora contienelos siguientes pares
clave/valor:
</para>
<screen>
<![CDATA[
Array
(
[1] => bob
[value] => bob
[0] => 0
[key] => 0
)
]]>
</screen>
</example>
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
]]>
</programlisting>
<para>
<varname>$bar</varname> ahora contienelos siguientes pares
clave/valor:
</para>
<screen>
<![CDATA[
Array
(
[1] => Bob
[value] => Bob
[0] => Robert
[key] => Robert
)
]]>
</screen>
</informalexample>
</para>
<para>
<function>each</function> se usa normalmente junto con
<function>list</function> para atravesar un array. Aquí hay un
ejemplo:
<example>
<title>Atravesar un array con <function>each</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruta = array('a' => 'manzana', 'b' => 'banana', 'c' => 'arándano');
reset($fruta);
while (list($clave, $valor) = each($fruta)) {
echo "$clave => $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
a => manzana
b => banana
c => arándano
]]>
</screen>
</example>
</para>
<caution>
<para>
Ya que asignar un array a otra variable reinicia el puntero del array
original (nuestro ejemplo de arriba causaría un bucle sin fin), hemos
asignado <varname>$fruta</varname> a otra variable dentro del
bucle.
</para>
</caution>
<warning>
<para>
<function>each</function> también aceptará objetos, pero puede devolver resultados
inesperados. Por lo tanto, no se recomienda iterar propiedades de objetos
con <function>each</function>.
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>key</function></member>
<member><function>list</function></member>
<member><function>current</function></member>
<member><function>reset</function></member>
<member><function>next</function></member>
<member><function>prev</function></member>
<member>&foreach;</member>
<member><link linkend="language.oop5.iterations">Iteración de Objetos</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.each" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>each</refname>
<refpurpose>Devolver el par clave/valor actual de un array y avanzar el cursor del array</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>each</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
Devuelve el par clave/valor actual de un array y avanza el cursor del
array.
</para>
<para>
Después de que <function>each</function> haya sido ejecutado, el cursor del array
será puesto en el siguiente elemento del array, o pasado el último
elemento si alcanza el final del array. Se tiene que usar
<function>reset</function> si se quiere atravesar de nuevo el
array usando each.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el par clave/valor actual del array dado por
<parameter>array</parameter>. Este par es devuelto en un array de cuatro
elementos, con las claves <literal>0</literal>, <literal>1</literal>,
<literal>key</literal>, y <literal>value</literal>. Los elementos
<literal>0</literal> y <literal>key</literal> contienen el nombre de la clave del
elemento del array, y <literal>1</literal> y <literal>value</literal>
contienen la información.
</para>
<para>
Si el puntero interno del array apunta al final del contenido de
array, <function>each</function> devuelve
&false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>each</function></title>
<programlisting role="php">
<![CDATA[
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
]]>
</programlisting>
<para>
<varname>$bar</varname> ahora contienelos siguientes pares
clave/valor:
</para>
<screen>
<![CDATA[
Array
(
[1] => bob
[value] => bob
[0] => 0
[key] => 0
)
]]>
</screen>
</example>
</para>
<para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
]]>
</programlisting>
<para>
<varname>$bar</varname> ahora contienelos siguientes pares
clave/valor:
</para>
<screen>
<![CDATA[
Array
(
[1] => Bob
[value] => Bob
[0] => Robert
[key] => Robert
)
]]>
</screen>
</informalexample>
</para>
<para>
<function>each</function> se usa normalmente junto con
<function>list</function> para atravesar un array. Aquí hay un
ejemplo:
<example>
<title>Atravesar un array con <function>each</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fruta = array('a' => 'manzana', 'b' => 'banana', 'c' => 'arándano');
reset($fruta);
while (list($clave, $valor) = each($fruta)) {
echo "$clave => $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
a => manzana
b => banana
c => arándano
]]>
</screen>
</example>
</para>
<caution>
<para>
Ya que asignar un array a otra variable reinicia el puntero del array
original (nuestro ejemplo de arriba causaría un bucle sin fin), hemos
asignado <varname>$fruta</varname> a otra variable dentro del
bucle.
</para>
</caution>
<warning>
<para>
<function>each</function> también aceptará objetos, pero puede devolver resultados
inesperados. Por lo tanto, no se recomienda iterar propiedades de objetos
con <function>each</function>.
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>key</function></member>
<member><function>list</function></member>
<member><function>current</function></member>
<member><function>reset</function></member>
<member><function>next</function></member>
<member><function>prev</function></member>
<member>&foreach;</member>
<member><link linkend="language.oop5.iterations">Iteración de Objetos</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,131 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.natcasesort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>natcasesort</refname>
<refpurpose>Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>natcasesort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
<function>natcasesort</function> es la versión insensible a mayúsculas-minúsculas de
<function>natsort</function>.
</para>
<para>
Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas
en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor.
Es descrito como "ordenación natural".
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>natcasesort</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
sort($array1);
echo "Ordenación estándar\n";
print_r($array1);
natcasesort($array2);
echo "\nOrdenación de orden natural (insensible a maý-mín)\n";
print_r($array2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Ordenación estándar
Array
(
[0] => IMG0.png
[1] => IMG3.png
[2] => img1.png
[3] => img10.png
[4] => img12.png
[5] => img2.png
)
Ordenación de orden natural (insensible a maý-mín)
Array
(
[0] => IMG0.png
[4] => img1.png
[3] => img2.png
[5] => IMG3.png
[2] => img10.png
[1] => img12.png
)
]]>
</screen>
<para>
Para más información véase: la página de Martin Pool <link
xlink:href="&url.strnatcmp;">Natural Order String Comparison</link>.
</para>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>natsort</function></member>
<member>&seealso.array.sorting;</member>
<member><function>strnatcmp</function></member>
<member><function>strnatcasecmp</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.natcasesort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>natcasesort</refname>
<refpurpose>Ordenar un array usando un algoritmo de "orden natural" insensible a mayúsculas-minúsculas</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>natcasesort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
<function>natcasesort</function> es la versión insensible a mayúsculas-minúsculas de
<function>natsort</function>.
</para>
<para>
Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas
en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor.
Es descrito como "ordenación natural".
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>natcasesort</function></title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
sort($array1);
echo "Ordenación estándar\n";
print_r($array1);
natcasesort($array2);
echo "\nOrdenación de orden natural (insensible a maý-mín)\n";
print_r($array2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Ordenación estándar
Array
(
[0] => IMG0.png
[1] => IMG3.png
[2] => img1.png
[3] => img10.png
[4] => img12.png
[5] => img2.png
)
Ordenación de orden natural (insensible a maý-mín)
Array
(
[0] => IMG0.png
[4] => img1.png
[3] => img2.png
[5] => IMG3.png
[2] => img10.png
[1] => img12.png
)
]]>
</screen>
<para>
Para más información véase: la página de Martin Pool <link
xlink:href="&url.strnatcmp;">Natural Order String Comparison</link>.
</para>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>natsort</function></member>
<member>&seealso.array.sorting;</member>
<member><function>strnatcmp</function></member>
<member><function>strnatcasecmp</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,258 +1,258 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 08e2e3465c29f5270454f7296fd2226790c72acd Maintainer: seros Status: ready -->
<refentry xml:id="function.natsort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>natsort</refname>
<refpurpose>Ordena un array usando un algoritmo de "orden natural"</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>natsort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas
en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor.
Es descrito como "ordenación natural". Un ejemplo de la diferencia
entre este algoritmo y los algoritmos de ordenación normales de computadora
(usados en <function>sort</function>) se puede ver en el ejemplo de abajo.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.2.10</entry>
<entry>
Las cadenas numéricas rellenadas con ceros (p.ej., '00005') ahora ignoran el relleno de 0.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>natsort</function> demostrando su uso básico</title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Ordenación estándar\n";
print_r($array1);
natsort($array2);
echo "\nOrdenación de orden natural\n";
print_r($array2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Ordenación estándar
Array
(
[3] => img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Ordenación de orden natural
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
]]>
</screen>
<para>
Para más información véase: la página de Martin Pool <link
xlink:href="&url.strnatcmp;">Natural Order String Comparison</link>.
</para>
</example>
<example>
<title>Ejemplos de <function>natsort</function> demostrando trampas potenciales</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Números negativos\n";
$negativo = array('-5','3','-2','0','-1000','9','1');
print_r($negativo);
natsort($negativo);
print_r($negativo);
echo "Relleno de ceros\n";
$ceros = array('09', '8', '10', '009', '011', '0');
print_r($ceros);
natsort($ceros);
print_r($ceros);
echo "Otros caracteres interfiriendo\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);
echo "Ordenar por claves\n";
$smoothie = array('naranja' => 1, 'manzana' => 1, 'yogur' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Números negativos
Array
(
[0] => -5
[1] => 3
[2] => -2
[3] => 0
[4] => -1000
[5] => 9
[6] => 1
)
Array
(
[2] => -2
[0] => -5
[4] => -1000
[3] => 0
[6] => 1
[1] => 3
[5] => 9
)
Relleno de ceros
Array
(
[0] => 09
[1] => 8
[2] => 10
[3] => 009
[4] => 011
[5] => 0
)
Array
(
[5] => 0
[1] => 8
[3] => 009
[0] => 09
[2] => 10
[4] => 011
)
Otros caracteres interfiriendo
Array
(
[0] => image_1.jpg
[1] => image_12.jpg
[2] => image_21.jpg
[3] => image_4.jpg
)
Array
(
[0] => image_1.jpg
[3] => image_4.jpg
[1] => image_12.jpg
[2] => image_21.jpg
)
Ordenar por claves
Array
(
[naranja] => 1
[manzana] => 1
[yogur] => 4
[banana] => 4
)
Array
(
[banana] => 4
[manzana] => 1
[naranja] => 1
[yogur] => 4
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>natcasesort</function></member>
<member>&seealso.array.sorting;</member>
<member><function>strnatcmp</function></member>
<member><function>strnatcasecmp</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 08e2e3465c29f5270454f7296fd2226790c72acd Maintainer: seros Status: ready -->
<refentry xml:id="function.natsort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>natsort</refname>
<refpurpose>Ordena un array usando un algoritmo de "orden natural"</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>natsort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
</methodsynopsis>
<para>
Esta función implementa un algoritmo de ordenación que ordena las cadenas alfanuméricas
en la manera en que lo haría un humano mientras mantiene las asociaciones de clave/valor.
Es descrito como "ordenación natural". Un ejemplo de la diferencia
entre este algoritmo y los algoritmos de ordenación normales de computadora
(usados en <function>sort</function>) se puede ver en el ejemplo de abajo.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>5.2.10</entry>
<entry>
Las cadenas numéricas rellenadas con ceros (p.ej., '00005') ahora ignoran el relleno de 0.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplos de <function>natsort</function> demostrando su uso básico</title>
<programlisting role="php">
<![CDATA[
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Ordenación estándar\n";
print_r($array1);
natsort($array2);
echo "\nOrdenación de orden natural\n";
print_r($array2);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Ordenación estándar
Array
(
[3] => img1.png
[1] => img10.png
[0] => img12.png
[2] => img2.png
)
Ordenación de orden natural
Array
(
[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png
)
]]>
</screen>
<para>
Para más información véase: la página de Martin Pool <link
xlink:href="&url.strnatcmp;">Natural Order String Comparison</link>.
</para>
</example>
<example>
<title>Ejemplos de <function>natsort</function> demostrando trampas potenciales</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Números negativos\n";
$negativo = array('-5','3','-2','0','-1000','9','1');
print_r($negativo);
natsort($negativo);
print_r($negativo);
echo "Relleno de ceros\n";
$ceros = array('09', '8', '10', '009', '011', '0');
print_r($ceros);
natsort($ceros);
print_r($ceros);
echo "Otros caracteres interfiriendo\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);
echo "Ordenar por claves\n";
$smoothie = array('naranja' => 1, 'manzana' => 1, 'yogur' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Números negativos
Array
(
[0] => -5
[1] => 3
[2] => -2
[3] => 0
[4] => -1000
[5] => 9
[6] => 1
)
Array
(
[2] => -2
[0] => -5
[4] => -1000
[3] => 0
[6] => 1
[1] => 3
[5] => 9
)
Relleno de ceros
Array
(
[0] => 09
[1] => 8
[2] => 10
[3] => 009
[4] => 011
[5] => 0
)
Array
(
[5] => 0
[1] => 8
[3] => 009
[0] => 09
[2] => 10
[4] => 011
)
Otros caracteres interfiriendo
Array
(
[0] => image_1.jpg
[1] => image_12.jpg
[2] => image_21.jpg
[3] => image_4.jpg
)
Array
(
[0] => image_1.jpg
[3] => image_4.jpg
[1] => image_12.jpg
[2] => image_21.jpg
)
Ordenar por claves
Array
(
[naranja] => 1
[manzana] => 1
[yogur] => 4
[banana] => 4
)
Array
(
[banana] => 4
[manzana] => 1
[naranja] => 1
[yogur] => 4
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>natcasesort</function></member>
<member>&seealso.array.sorting;</member>
<member><function>strnatcmp</function></member>
<member><function>strnatcasecmp</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,147 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.uasort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>uasort</refname>
<refpurpose>Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>uasort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
Esta función ordena un array tal que los índices de array mantienen sus
correlaciones con los elementos del array con los que están asociados, usando una
función de comparación definida por el usuario.
</para>
<para>
Se usa pricipalmente cuando se ordenan arrays asociativos donde el orden del elemento
mismo es significante.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
Véase <function>usort</function> y <function>uksort</function> para
ejemplos de funciones de comparación definidas por el usuario.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo básico de <function>uasort</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Función de comparación
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array a ser ordenado
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// Ordenar e imprimir el array resultante
uasort($array, 'cmp');
print_r($array);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => 4
[b] => 8
[c] => -1
[d] => -9
[e] => 2
[f] => 5
[g] => 3
[h] => -4
)
Array
(
[d] => -9
[h] => -4
[c] => -1
[e] => 2
[g] => 3
[a] => 4
[f] => 5
[b] => 8
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>usort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.uasort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>uasort</refname>
<refpurpose>Ordena un array con una función de comparación definida por el usuario y mantiene la asociación de índices</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>uasort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
Esta función ordena un array tal que los índices de array mantienen sus
correlaciones con los elementos del array con los que están asociados, usando una
función de comparación definida por el usuario.
</para>
<para>
Se usa pricipalmente cuando se ordenan arrays asociativos donde el orden del elemento
mismo es significante.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
Véase <function>usort</function> y <function>uksort</function> para
ejemplos de funciones de comparación definidas por el usuario.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo básico de <function>uasort</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Función de comparación
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
// Array a ser ordenado
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($array);
// Ordenar e imprimir el array resultante
uasort($array, 'cmp');
print_r($array);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[a] => 4
[b] => 8
[c] => -1
[d] => -9
[e] => 2
[f] => 5
[g] => 3
[h] => -4
)
Array
(
[d] => -9
[h] => -4
[c] => -1
[e] => 2
[g] => 3
[a] => 4
[f] => 5
[b] => 8
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>usort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,127 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.uksort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>uksort</refname>
<refpurpose>Ordena un array según sus claves usando una función de comparación definida por el usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>uksort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
<function>uksort</function> ordenará las claves de un array usando una
función de comparación proporcionada por el usuario. Si el array que se desea ordenar
necesita ser ordenado por algún criterio no trivial, debería usar
esta función.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación.
</para>
<para>
La función <parameter>cmp_function</parameter> debería aceptar dos
parámetros que serán rellenados por los pares de las claves de <parameter>array</parameter>.
La función de comparación debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>uksort</function></title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(un|una|la) @', '', $a);
$b = preg_replace('@^(un|una|la) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("Víctor" => 1, "la Tierra" => 2, "una manzana" => 3, "un plátano" => 4);
uksort($a, "cmp");
foreach ($a as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
una manzana: 3
un plátano: 4
la Tierra: 2
Víctor: 1
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>usort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.uksort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>uksort</refname>
<refpurpose>Ordena un array según sus claves usando una función de comparación definida por el usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>uksort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
<function>uksort</function> ordenará las claves de un array usando una
función de comparación proporcionada por el usuario. Si el array que se desea ordenar
necesita ser ordenado por algún criterio no trivial, debería usar
esta función.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
La función de retorno de llamada de comparación.
</para>
<para>
La función <parameter>cmp_function</parameter> debería aceptar dos
parámetros que serán rellenados por los pares de las claves de <parameter>array</parameter>.
La función de comparación debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento es considerado, respectivamente,
menor que, igual, o mayor que el
segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>uksort</function></title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
$a = preg_replace('@^(un|una|la) @', '', $a);
$b = preg_replace('@^(un|una|la) @', '', $b);
return strcasecmp($a, $b);
}
$a = array("Víctor" => 1, "la Tierra" => 2, "una manzana" => 3, "un plátano" => 4);
uksort($a, "cmp");
foreach ($a as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
una manzana: 3
un plátano: 4
la Tierra: 2
Víctor: 1
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>usort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,247 +1,247 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.usort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>usort</refname>
<refpurpose>Ordena un array según sus valores usando una función de comparación definida por el usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>usort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
Esta función ordenará un array según sus valores usando una función de comparación
definida por el usuario. Si el array que se desea ordenar necesita ser ordenado por
algún criterio no trivial, debería usar esta función.
</para>
<note>
<para>
Si dos miembros se comparan como iguales, su orden en el array ordenado es indefinido.
</para>
</note>
&note.no-key-association;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
La función de comparación debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento se considera, respectivamente,
menor que, igual, o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.1.0</entry>
<entry>
Se introdujo un nuevo algoritmo de ordenación. La función <parameter>cmp_function</parameter>
no mantiene el orden original de los elementos comparadados como iguales.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>usort</function></title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
0: 1
1: 2
2: 3
3: 5
4: 6
]]>
</screen>
</example>
</para>
<note>
<para>
Obviamente, en este caso tan trivial, la función <function>sort</function>
sería más apropiada.
</para>
</note>
<para>
<example>
<title>
Ejemplo de <function>usort</function> usando un array multidimensional
</title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
return strcmp($a["fruta"], $b["fruta"]);
}
$frutas[0]["fruta"] = "uvas";
$frutas[1]["fruta"] = "limones";
$frutas[2]["fruta"] = "manzanas";
usort($frutas, "cmp");
while (list($clave, $valor) = each($frutas)) {
echo "\$frutas[$clave]: " . $valor["fruta"] . "\n";
}
?>
]]>
</programlisting>
<para>
Cuando se ordena un array multidimensional, <varname>$a</varname> y
<varname>$b</varname> contienen referencias al primer índice del array.
</para>
&example.outputs;
<screen>
<![CDATA[
$frutas[0]: limones
$frutas[1]: manzanas
$frutas[2]: uvas
]]>
</screen>
</example>
</para>
<para>
<example>
<title>
Ejemplo de <function>usort</function> usando una función miembro de un objeto
</title>
<programlisting role="php">
<![CDATA[
<?php
class ObjPrueba {
var $nombre;
function ObjPrueba($nombre)
{
$this->nombre = $nombre;
}
/* Ésta es la función de comparación estática: */
static function cmp_obj($a, $b)
{
$al = strtolower($a->nombre);
$bl = strtolower($b->nombre);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
}
$a[] = new ObjPrueba("c");
$a[] = new ObjPrueba("b");
$a[] = new ObjPrueba("d");
usort($a, array("ObjPrueba", "cmp_obj"));
foreach ($a as $elemento) {
echo $elemento->nombre . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
b
c
d
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>uasort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.usort" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>usort</refname>
<refpurpose>Ordena un array según sus valores usando una función de comparación definida por el usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>usort</methodname>
<methodparam><type>array</type><parameter role="reference">array</parameter></methodparam>
<methodparam><type>callback</type><parameter>cmp_function</parameter></methodparam>
</methodsynopsis>
<para>
Esta función ordenará un array según sus valores usando una función de comparación
definida por el usuario. Si el array que se desea ordenar necesita ser ordenado por
algún criterio no trivial, debería usar esta función.
</para>
<note>
<para>
Si dos miembros se comparan como iguales, su orden en el array ordenado es indefinido.
</para>
</note>
&note.no-key-association;
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
El array de entrada.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>cmp_function</parameter></term>
<listitem>
<para>
La función de comparación debe devolver un valor de tipo integer menor que, igual,
o mayor que cero si el primer argumento se considera, respectivamente,
menor que, igual, o mayor que el segundo.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>4.1.0</entry>
<entry>
Se introdujo un nuevo algoritmo de ordenación. La función <parameter>cmp_function</parameter>
no mantiene el orden original de los elementos comparadados como iguales.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>usort</function></title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $clave => $valor) {
echo "$clave: $valor\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
0: 1
1: 2
2: 3
3: 5
4: 6
]]>
</screen>
</example>
</para>
<note>
<para>
Obviamente, en este caso tan trivial, la función <function>sort</function>
sería más apropiada.
</para>
</note>
<para>
<example>
<title>
Ejemplo de <function>usort</function> usando un array multidimensional
</title>
<programlisting role="php">
<![CDATA[
<?php
function cmp($a, $b)
{
return strcmp($a["fruta"], $b["fruta"]);
}
$frutas[0]["fruta"] = "uvas";
$frutas[1]["fruta"] = "limones";
$frutas[2]["fruta"] = "manzanas";
usort($frutas, "cmp");
while (list($clave, $valor) = each($frutas)) {
echo "\$frutas[$clave]: " . $valor["fruta"] . "\n";
}
?>
]]>
</programlisting>
<para>
Cuando se ordena un array multidimensional, <varname>$a</varname> y
<varname>$b</varname> contienen referencias al primer índice del array.
</para>
&example.outputs;
<screen>
<![CDATA[
$frutas[0]: limones
$frutas[1]: manzanas
$frutas[2]: uvas
]]>
</screen>
</example>
</para>
<para>
<example>
<title>
Ejemplo de <function>usort</function> usando una función miembro de un objeto
</title>
<programlisting role="php">
<![CDATA[
<?php
class ObjPrueba {
var $nombre;
function ObjPrueba($nombre)
{
$this->nombre = $nombre;
}
/* Ésta es la función de comparación estática: */
static function cmp_obj($a, $b)
{
$al = strtolower($a->nombre);
$bl = strtolower($b->nombre);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
}
$a[] = new ObjPrueba("c");
$a[] = new ObjPrueba("b");
$a[] = new ObjPrueba("d");
usort($a, array("ObjPrueba", "cmp_obj"));
foreach ($a as $elemento) {
echo $elemento->nombre . "\n";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
b
c
d
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>uasort</function></member>
<member>&seealso.array.sorting;</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,52 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<!-- Membership: external, pecl -->
<book xml:id="book.bbcode" xmlns="http://docbook.org/ns/docbook">
<title>Bulletin Board Code</title>
<titleabbrev>BBCode</titleabbrev>
<preface xml:id="intro.bbcode">
&reftitle.intro;
<para>
Esta extensión tiene como propósito ayudar a analizar texto con BBCode para
convertirlo en HTML o cualquier otro lenguaje basado en etiquetas. Utiliza
un análisis "en una pasada" y proporciona una gran mejora en la velocidad
por encima de las habituales aproximaciones basadas en expresiones
regulares. Es más, ayuda a generar un código HTML válido reordenando
etiquestas abiertas o cerradas y cerrando automáticamente etiquetas no
cerradas.
</para>
<para>
Desde 0.10.1 soporta uso de argumentos mediante comillas simples, comillas
dobles y comillas dobles escapadas en HTML.
</para>
</preface>
&reference.bbcode.setup;
&reference.bbcode.constants;
&reference.bbcode.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<!-- Membership: external, pecl -->
<book xml:id="book.bbcode" xmlns="http://docbook.org/ns/docbook">
<title>Bulletin Board Code</title>
<titleabbrev>BBCode</titleabbrev>
<preface xml:id="intro.bbcode">
&reftitle.intro;
<para>
Esta extensión tiene como propósito ayudar a analizar texto con BBCode para
convertirlo en HTML o cualquier otro lenguaje basado en etiquetas. Utiliza
un análisis "en una pasada" y proporciona una gran mejora en la velocidad
por encima de las habituales aproximaciones basadas en expresiones
regulares. Es más, ayuda a generar un código HTML válido reordenando
etiquestas abiertas o cerradas y cerrando automáticamente etiquetas no
cerradas.
</para>
<para>
Desde 0.10.1 soporta uso de argumentos mediante comillas simples, comillas
dobles y comillas dobles escapadas en HTML.
</para>
</preface>
&reference.bbcode.setup;
&reference.bbcode.constants;
&reference.bbcode.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,36 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<section xml:id="bbcode.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;bbcode">&url.pecl.package;bbcode</link>
</para>
<para>
Una solución alternativa, escrita en PHP, es el paquete PEAR <link
xlink:href="&url.pear.package;HTML_BBCodeParser">HTML_BBCodeParser</link>.
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<section xml:id="bbcode.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;bbcode">&url.pecl.package;bbcode</link>
</para>
<para>
Una solución alternativa, escrita en PHP, es el paquete PEAR <link
xlink:href="&url.pear.package;HTML_BBCodeParser">HTML_BBCodeParser</link>.
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,84 +1,84 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-add-element" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_add_element</refname>
<refpurpose>Añade un elemento bbcode</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_add_element</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>string</type><parameter>tag_name</parameter></methodparam>
<methodparam><type>array</type><parameter>tag_rules</parameter></methodparam>
</methodsynopsis>
<para>
Añade una etiqueta al set de BBCode_Container usando tag_rules.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tag_name</parameter></term>
<listitem>
<para>
La nueva etiqueta a añadir al set de BBCode_Container.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tag_rules</parameter></term>
<listitem>
<para>
Un array asociativo conteniendo las reglas para el analizador; ver
<function>bbcode_create</function> para las claves disponibles.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-add-element" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_add_element</refname>
<refpurpose>Añade un elemento bbcode</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_add_element</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>string</type><parameter>tag_name</parameter></methodparam>
<methodparam><type>array</type><parameter>tag_rules</parameter></methodparam>
</methodsynopsis>
<para>
Añade una etiqueta al set de BBCode_Container usando tag_rules.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tag_name</parameter></term>
<listitem>
<para>
La nueva etiqueta a añadir al set de BBCode_Container.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tag_rules</parameter></term>
<listitem>
<para>
Un array asociativo conteniendo las reglas para el analizador; ver
<function>bbcode_create</function> para las claves disponibles.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,149 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-add-smiley" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_add_smiley</refname>
<refpurpose>Añade un smiley al analizador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_add_smiley</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>string</type><parameter>smiley</parameter></methodparam>
<methodparam><type>string</type><parameter>replace_by</parameter></methodparam>
</methodsynopsis>
<para>
Añade un smiley al analizador
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>smiley</parameter></term>
<listitem>
<para>
El string a ser reemplazado cuando se encuentre.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replace_by</parameter></term>
<listitem>
<para>
El string que reemplaza al smiley.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_add_smiley</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Preparamos el set de reglas
*/
$arrayBBCode=array(
''=> array('type'=>BBCODE_TYPE_ROOT,
'childs'=>'!i'),
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>',
'close_tag'=>'</b>'),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>',
'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>',
'close_tag'=>'</i>',
'childs'=>'b'),
);
/*
* Texto a analizar
*/
$texto = <<<EOF
[i] Sin cambios [/i] :)
[b] Analizado, con smiley :( [/b]
[u] Analizado, sin smiley :D [/u]
EOF;
/*
* Inicializamos el analizador
*/
$BBHandler=bbcode_create($arrayBBCode);
/*
* Añadimos al analizador reglas para los smileys
*/
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
* Analizamos el texto
*/
echo bbcode_parse($BBHandler, $texto);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<i> Sin cambios </i> <img src="smiley.gif" alt=":)" />
<b> Analizado, con smiley <img src="sad.gif" alt=":(" /> </b>
<u> Analizado, sin smiley :D </u>
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-add-smiley" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_add_smiley</refname>
<refpurpose>Añade un smiley al analizador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_add_smiley</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>string</type><parameter>smiley</parameter></methodparam>
<methodparam><type>string</type><parameter>replace_by</parameter></methodparam>
</methodsynopsis>
<para>
Añade un smiley al analizador
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>smiley</parameter></term>
<listitem>
<para>
El string a ser reemplazado cuando se encuentre.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>replace_by</parameter></term>
<listitem>
<para>
El string que reemplaza al smiley.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_add_smiley</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Preparamos el set de reglas
*/
$arrayBBCode=array(
''=> array('type'=>BBCODE_TYPE_ROOT,
'childs'=>'!i'),
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>',
'close_tag'=>'</b>'),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>',
'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>',
'close_tag'=>'</i>',
'childs'=>'b'),
);
/*
* Texto a analizar
*/
$texto = <<<EOF
[i] Sin cambios [/i] :)
[b] Analizado, con smiley :( [/b]
[u] Analizado, sin smiley :D [/u]
EOF;
/*
* Inicializamos el analizador
*/
$BBHandler=bbcode_create($arrayBBCode);
/*
* Añadimos al analizador reglas para los smileys
*/
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
* Analizamos el texto
*/
echo bbcode_parse($BBHandler, $texto);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<i> Sin cambios </i> <img src="smiley.gif" alt=":)" />
<b> Analizado, con smiley <img src="sad.gif" alt=":(" /> </b>
<u> Analizado, sin smiley :D </u>
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,64 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-destroy" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_destroy</refname>
<refpurpose>Cierra un recurso BBCode_container</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_destroy</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
</methodsynopsis>
<para>
Esta función cierra el recurso abierto con <function>bbcode_create</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Recurso BBCode_Container devuelto por <function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-destroy" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_destroy</refname>
<refpurpose>Cierra un recurso BBCode_container</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_destroy</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
</methodsynopsis>
<para>
Esta función cierra el recurso abierto con <function>bbcode_create</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Recurso BBCode_Container devuelto por <function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,171 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-set-arg-parser" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_set_arg_parser</refname>
<refpurpose>Añade otro analizador para usar otro set de reglas para analizar argumentos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_set_arg_parser</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>resource</type><parameter>bbcode_arg_parser</parameter></methodparam>
</methodsynopsis>
<para>
Añade otro analizador a bbcode_container.
Este analizador se usa únicamente cuando se deben analizar argumentos. Si
no se usa esta función, el analizador de argumentos por defectos es el
propio analizador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>bbcode_arg_parser</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>. Se usará únicamente para analizar
argumentos.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_set_arg_parser</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Set de reglas bbcode para el analizador principal
*/
$arrayBBCode = array(
'quote'=> array('type'=>BBCODE_TYPE_ARG,
'open_tag'=>'<quote><h4>Origen: {PARAM}</h4>',
'close_tag'=>'</quote>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>', 'close_tag'=>'</b>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
* Set de reglas bbcode para el analizador de argumentos
*/
$arrayBBCode_arg = array(
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
* Texto que vamos a analizar
*/
$text = <<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Ejemplo :)[/b] :)
EOF;
/*
* Inicializamos ambos analizadores
*/
$BBHandler = bbcode_create($arrayBBCode);
$BBArgHandler = bbcode_create($arrayBBCode_arg);
/*
* Establecemos flags a los analizadores
*/
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
* Establecemos $BBArgHandler como el analizador de argumentos de BBHandler
*/
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
* Añadimos reglas para los smileys en el analizador principal
*/
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
* Usamos el analizador principal para analizar el texto
*/
echo bbcode_parse($BBHandler,$text);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<quote><h4>Origen: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Ejemplo :)</b> <img src="smiley.gif" alt=":)" />
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-set-arg-parser" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_set_arg_parser</refname>
<refpurpose>Añade otro analizador para usar otro set de reglas para analizar argumentos</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_set_arg_parser</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>resource</type><parameter>bbcode_arg_parser</parameter></methodparam>
</methodsynopsis>
<para>
Añade otro analizador a bbcode_container.
Este analizador se usa únicamente cuando se deben analizar argumentos. Si
no se usa esta función, el analizador de argumentos por defectos es el
propio analizador.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>bbcode_arg_parser</parameter></term>
<listitem>
<para>
Resource BBCode_Container, retornado por
<function>bbcode_create</function>. Se usará únicamente para analizar
argumentos.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_set_arg_parser</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Set de reglas bbcode para el analizador principal
*/
$arrayBBCode = array(
'quote'=> array('type'=>BBCODE_TYPE_ARG,
'open_tag'=>'<quote><h4>Origen: {PARAM}</h4>',
'close_tag'=>'</quote>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>', 'close_tag'=>'</b>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
* Set de reglas bbcode para el analizador de argumentos
*/
$arrayBBCode_arg = array(
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>',
'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>',
'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
);
/*
* Texto que vamos a analizar
*/
$text = <<<EOF
[quote="[b]Test[/b]"]
Foo :)
[/quote]
[b]Ejemplo :)[/b] :)
EOF;
/*
* Inicializamos ambos analizadores
*/
$BBHandler = bbcode_create($arrayBBCode);
$BBArgHandler = bbcode_create($arrayBBCode_arg);
/*
* Establecemos flags a los analizadores
*/
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
bbcode_set_flags($BBArgHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
/*
* Establecemos $BBArgHandler como el analizador de argumentos de BBHandler
*/
bbcode_set_arg_parser($BBHandler,$BBArgHandler);
/*
* Añadimos reglas para los smileys en el analizador principal
*/
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
/*
* Usamos el analizador principal para analizar el texto
*/
echo bbcode_parse($BBHandler,$text);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<quote><h4>Origen: <b class="sub">Test</b></h4>
Foo <img src="smiley.gif" alt=":)" />
</quote>
<b>Ejemplo :)</b> <img src="smiley.gif" alt=":)" />
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,141 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-set-flags" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_set_flags</refname>
<refpurpose>Establece o cambia las opciones del analizador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_set_flags</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>BBCODE_SET_FLAGS_SET</initializer></methodparam>
</methodsynopsis>
<para>
Establece o cambia las opciones del analizador
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container , retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
El flag que se debe aplicar a las opciones de bbcode_container
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Una de las constantes BBCODE_SET_FLAGS_* para aplicar, eliminar un set
de flag o reemplazar el set de flag por <parameter>flags</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_set_flags</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Preparando el set de reglas
*/
$arrayBBCode=array(
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>', 'close_tag'=>'</b>'),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>'),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
* Emparejando BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo [/b]\n";
$BBHandler = bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler, $text);
// Habilitamos reapertura de elementos cerrados automáticamente
bbcode_set_flags($BBHandler, BBCODE_CORRECT_REOPEN_TAGS, BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
/*
* Desemparejado de BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo\n";
echo bbcode_parse($BBHandler, $texto);
// Habilitamos cierre automático de etiquetas pendientes
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS | BBCODE_AUTO_CORRECT,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<i> Analizador <b> Autocorrección </b></i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo </b>
<i> Analizador [b] Autocorrección </i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo
</b>
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<refentry xml:id="function.bbcode-set-flags" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bbcode_set_flags</refname>
<refpurpose>Establece o cambia las opciones del analizador</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bbcode_set_flags</methodname>
<methodparam><type>resource</type><parameter>bbcode_container</parameter></methodparam>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>BBCODE_SET_FLAGS_SET</initializer></methodparam>
</methodsynopsis>
<para>
Establece o cambia las opciones del analizador
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>bbcode_container</parameter></term>
<listitem>
<para>
Resource BBCode_Container , retornado por
<function>bbcode_create</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
El flag que se debe aplicar a las opciones de bbcode_container
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
Una de las constantes BBCODE_SET_FLAGS_* para aplicar, eliminar un set
de flag o reemplazar el set de flag por <parameter>flags</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de uso de <function>bbcode_set_flags</function></title>
<programlisting role="php">
<![CDATA[
<?php
/*
* Preparando el set de reglas
*/
$arrayBBCode=array(
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>', 'close_tag'=>'</b>'),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>'),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
* Emparejando BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo [/b]\n";
$BBHandler = bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler, $text);
// Habilitamos reapertura de elementos cerrados automáticamente
bbcode_set_flags($BBHandler, BBCODE_CORRECT_REOPEN_TAGS, BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
/*
* Desemparejado de BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo\n";
echo bbcode_parse($BBHandler, $texto);
// Habilitamos cierre automático de etiquetas pendientes
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS | BBCODE_AUTO_CORRECT,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<i> Analizador <b> Autocorrección </b></i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo </b>
<i> Analizador [b] Autocorrección </i> en el trabajo
<i> Analizador <b> Autocorrección </b></i><b> en el trabajo
</b>
]]>
</screen>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,49 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<chapter xml:id="bbcode.setup">
&reftitle.setup;
<section xml:id="bbcode.requirements">
&reftitle.required;
&no.requirement;
</section>
&reference.bbcode.configure;
<section xml:id="bbcode.configuration">
&reftitle.runtime;
&no.config;
</section>
<section xml:id="bbcode.resources">
&reftitle.resources;
<para>
Se utiliza un resource en la extensión BBCode: un BBCode_Container
retornado por <function>bbcode_create</function>.
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: tatai Status: ready -->
<chapter xml:id="bbcode.setup">
&reftitle.setup;
<section xml:id="bbcode.requirements">
&reftitle.required;
&no.requirement;
</section>
&reference.bbcode.configure;
<section xml:id="bbcode.configuration">
&reftitle.runtime;
&no.config;
</section>
<section xml:id="bbcode.resources">
&reftitle.resources;
<para>
Se utiliza un resource en la extensión BBCode: un BBCode_Container
retornado por <function>bbcode_create</function>.
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,37 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: tatai Status: ready -->
<!--
Do NOT translate this file
-->
<versions>
<function name='bbcode_add_smiley' from='PECL bbcode &gt;= 0.10.2'/>
<function name='bbcode_add_element' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_create' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_destroy' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_parse' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_set_arg_parser' from='PECL bbcode &gt;= 0.10.2'/>
<function name='bbcode_set_flags' from='PECL bbcode &gt;= 0.10.2'/>
</versions>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: tatai Status: ready -->
<!--
Do NOT translate this file
-->
<versions>
<function name='bbcode_add_smiley' from='PECL bbcode &gt;= 0.10.2'/>
<function name='bbcode_add_element' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_create' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_destroy' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_parse' from='PECL bbcode &gt;= 0.9.0'/>
<function name='bbcode_set_arg_parser' from='PECL bbcode &gt;= 0.10.2'/>
<function name='bbcode_set_flags' from='PECL bbcode &gt;= 0.10.2'/>
</versions>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,37 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<section xml:id="bcompiler.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;bcompiler">&url.pecl.package;bcompiler</link>.
</para>
<para>
&pecl.windows.download;
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<section xml:id="bcompiler.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;bcompiler">&url.pecl.package;bcompiler</link>.
</para>
<para>
&pecl.windows.download;
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,29 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<appendix xml:id="bcompiler.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&no.constants;
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<appendix xml:id="bcompiler.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&no.constants;
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,98 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-load-exe" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_load_exe</refname>
<refpurpose>Lee y crea clases desde un archivo exe de bcompiler</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_load_exe</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Lee la información de un archivo exe de bcompiler y crea clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo exe, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_load_exe</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcompiler_load_exe("/tmp/ejemplo.exe");
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_load</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-load-exe" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_load_exe</refname>
<refpurpose>Lee y crea clases desde un archivo exe de bcompiler</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_load_exe</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Lee la información de un archivo exe de bcompiler y crea clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo exe, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_load_exe</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcompiler_load_exe("/tmp/ejemplo.exe");
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_load</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,109 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-load" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_load</refname>
<refpurpose>Lee y crea clases desde un archivo comprimido con bz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_load</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Lee la información de un archivo bz comprimido y crear clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo bz comprimido, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_load</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcompiler_load("/tmp/ejemplo");
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Por favor, use las sentencias include o require para analizar el código de bytes, es una manera
más portable y conveniente que usar esta función.
</para>
<para>
Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido
en el archivo de código de bytes.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_load_exe</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-load" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_load</refname>
<refpurpose>Lee y crea clases desde un archivo comprimido con bz</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_load</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Lee la información de un archivo bz comprimido y crear clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo bz comprimido, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_load</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcompiler_load("/tmp/ejemplo");
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Por favor, use las sentencias include o require para analizar el código de bytes, es una manera
más portable y conveniente que usar esta función.
</para>
<para>
Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido
en el archivo de código de bytes.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_load_exe</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,106 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-parse-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_parse_class</refname>
<refpurpose>Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_parse_class</methodname>
<methodparam><type>string</type><parameter>class</parameter></methodparam>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>class</parameter></term>
<listitem>
<para>
El nombre de la clase, como cadena.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_parse_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
function leerCódigoBytes($datos) {
print_r($datos);
}
bcompiler_parse_class("DB","leerCódigoBytes");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Esta función ha sido eliminada de bcompiler y ya no está disponible
a partir de bcompiler 0.5.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-parse-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_parse_class</refname>
<refpurpose>Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_parse_class</methodname>
<methodparam><type>string</type><parameter>class</parameter></methodparam>
<methodparam><type>string</type><parameter>callback</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una clase y realiza una llamada de retorno a una función de usuario.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>class</parameter></term>
<listitem>
<para>
El nombre de la clase, como cadena.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_parse_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
function leerCódigoBytes($datos) {
print_r($datos);
}
bcompiler_parse_class("DB","leerCódigoBytes");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Esta función ha sido eliminada de bcompiler y ya no está disponible
a partir de bcompiler 0.5.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,100 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-read" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_read</refname>
<refpurpose>Lee y crea clases ded un gestor de archivo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_read</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
</methodsynopsis>
<para>
Lee información desde un gestor de archivo abierto y crea clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_read</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Por favor, use las sentencias include o require para analizar el código de bytes, es una manera
más portable y conveniente que usar esta función.
</para>
<para>
Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido
en el archivo de código de bytes.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-read" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_read</refname>
<refpurpose>Lee y crea clases ded un gestor de archivo</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_read</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
</methodsynopsis>
<para>
Lee información desde un gestor de archivo abierto y crea clases desde el código de bytes.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_read</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/example","r");
bcompiler_read($fh);
fclose($fh);
print_r(get_defined_classes());
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Por favor, use las sentencias include o require para analizar el código de bytes, es una manera
más portable y conveniente que usar esta función.
</para>
<para>
Por favor, observe que esta función no ejecutará código del cuerpo de un script que contenido
en el archivo de código de bytes.
</para>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,129 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_class</refname>
<refpurpose>Escribe una clase definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_class</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>className</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>extends</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una clase existente de PHP y lo escribe en el
gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>className</parameter></term>
<listitem>
<para>
El nombre de la clase, como cadena.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extends</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// debe escribir DB_common antes de DB_mysql, ya que DB_mysql extiende DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Esta función no realiza una comprobación de dependencia, por lo que asegúrese
de escribir las clases en un orden que no resulte en un
error <literal>undefined class</literal> cuando lo cargue.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_class</refname>
<refpurpose>Escribe una clase definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_class</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>className</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>extends</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una clase existente de PHP y lo escribe en el
gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>className</parameter></term>
<listitem>
<para>
El nombre de la clase, como cadena.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>extends</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_class</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
// debe escribir DB_common antes de DB_mysql, ya que DB_mysql extiende DB_common.
bcompiler_write_class($fh,"DB_common");
bcompiler_write_class($fh,"DB_mysql");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
<note>
<para>
Esta función no realiza una comprobación de dependencia, por lo que asegúrese
de escribir las clases en un orden que no resulte en un
error <literal>undefined class</literal> cuando lo cargue.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,113 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-constant" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_constant</refname>
<refpurpose>Escribe una constante definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_constant</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>constantName</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una constante existente de PHP y lo escribe
al gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constantName</parameter></term>
<listitem>
<para>
El nombre de la constante definida, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_constant</function></title>
<programlisting role="php">
<![CDATA[
<?php
define("MODULE_MAX", 30);
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-constant" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_constant</refname>
<refpurpose>Escribe una constante definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_constant</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>constantName</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una constante existente de PHP y lo escribe
al gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constantName</parameter></term>
<listitem>
<para>
El nombre de la constante definida, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_constant</function></title>
<programlisting role="php">
<![CDATA[
<?php
define("MODULE_MAX", 30);
$fh = fopen("/tmp/example","w");
bcompiler_write_header($fh);
bcompiler_write_constant($fh,"MODULE_MAX");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,140 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-exe-footer" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_exe_footer</refname>
<refpurpose>Escribe la posición de inicio y la firma al final de un archivo de tipo exe</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_exe_footer</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>int</type><parameter>startpos</parameter></methodparam>
</methodsynopsis>
<para>
Un archivo EXE (o auto-ejecutable) consiste en 3 partes:
<simplelist>
<member>
El <literal>stub</literal> (código ejecutable, p.ej. un programa compilado en C) que carga el
intérprete de PHP, la extensión de bcompiler, el Códogo de Bytes almacenado e inicia una llamada
a la función (p.ej. main) o método de clase (p.ej. <literal>main::main</literal>) especificados.
</member>
<member>El Código de Bytes (sin comprimir sólo por el momento)</member>
<member>El pie EXE de bcompiler</member>
</simplelist>
</para>
<para>
Para obtener un stub apropiado se puede compilar el stub basado en php embebido <filename>phpe.c</filename>
ubicado en el directorio <filename>examples/embed</filename> del CVS de bcompiler.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>startpos</parameter></term>
<listitem>
<para>
La posición del archivo en la que comienza el Código De Bytes, y se puede obtener
usando <function>ftell</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_exe_footer</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* crear el archivo de salida (ejemplo.exe) */
$fh = fopen("ejemplo.exe", "w");
/* 1) escribir un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);
/* 2) escribir el código de bytes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "miclase");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);
/* 3) escribir el pie del EXE */
bcompiler_write_exe_footer($fh, $startpos);
/* cerrar el archivo de salida */
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_class</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-exe-footer" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_exe_footer</refname>
<refpurpose>Escribe la posición de inicio y la firma al final de un archivo de tipo exe</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_exe_footer</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>int</type><parameter>startpos</parameter></methodparam>
</methodsynopsis>
<para>
Un archivo EXE (o auto-ejecutable) consiste en 3 partes:
<simplelist>
<member>
El <literal>stub</literal> (código ejecutable, p.ej. un programa compilado en C) que carga el
intérprete de PHP, la extensión de bcompiler, el Códogo de Bytes almacenado e inicia una llamada
a la función (p.ej. main) o método de clase (p.ej. <literal>main::main</literal>) especificados.
</member>
<member>El Código de Bytes (sin comprimir sólo por el momento)</member>
<member>El pie EXE de bcompiler</member>
</simplelist>
</para>
<para>
Para obtener un stub apropiado se puede compilar el stub basado en php embebido <filename>phpe.c</filename>
ubicado en el directorio <filename>examples/embed</filename> del CVS de bcompiler.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>startpos</parameter></term>
<listitem>
<para>
La posición del archivo en la que comienza el Código De Bytes, y se puede obtener
usando <function>ftell</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_exe_footer</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* crear el archivo de salida (ejemplo.exe) */
$fh = fopen("ejemplo.exe", "w");
/* 1) escribir un stub (phpe.exe) */
$size = filesize("phpe.exe");
$fr = fopen("phpe.exe", "r");
fwrite($fh, fread($fr, $size), $size);
$startpos = ftell($fh);
/* 2) escribir el código de bytes */
bcompiler_write_header($fh);
bcompiler_write_class($fh, "miclase");
bcompiler_write_function($fh, "main");
bcompiler_write_footer($fh);
/* 3) escribir el pie del EXE */
bcompiler_write_exe_footer($fh, $startpos);
/* cerrar el archivo de salida */
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_class</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,115 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-file" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_file</refname>
<refpurpose>EScribe un archivo fuente de php como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_file</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Esta función compila el archivo fuente especificado en código de bytes y lo escribe
al gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo fuente, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("ejemplo.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "ejemplo.php");
bcompiler_write_footer($fh);
fclose($fh);
/* lo siguiente debería ser equivalente:
include "ejemplo.php";
y
include "ejemplo.phb";
*/
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-file" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_file</refname>
<refpurpose>EScribe un archivo fuente de php como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_file</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
<para>
Esta función compila el archivo fuente especificado en código de bytes y lo escribe
al gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
La ruta al archivo fuente, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("ejemplo.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "ejemplo.php");
bcompiler_write_footer($fh);
fclose($fh);
/* lo siguiente debería ser equivalente:
include "ejemplo.php";
y
include "ejemplo.phb";
*/
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,101 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-footer" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_footer</refname>
<refpurpose>Escribe el carácter \x00 para indicar el Final de los datos compilados</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_footer</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
</methodsynopsis>
<para>
Escribe el carácter \x00 para indicar el Final de los datos compilados.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_footer</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-footer" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_footer</refname>
<refpurpose>Escribe el carácter \x00 para indicar el Final de los datos compilados</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_footer</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
</methodsynopsis>
<para>
Escribe el carácter \x00 para indicar el Final de los datos compilados.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_footer</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_class($fh,"DB_common");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,114 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_function</refname>
<refpurpose>Escribe una función definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_function</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>functionName</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una función existente de PHP y lo escribe al
gestor de archivo abierto. El orden no es importante, (p.ej. si la función b utiliza
la función a, y se compila como en el ejemplo de abajo, funcionará
perfectamente).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>functionName</parameter></term>
<listitem>
<para>
El nombre de la función, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_function</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"mi_función_a");
bcompiler_write_function($fh,"mi_función_b");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-function" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_function</refname>
<refpurpose>Escribe una función definida como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_function</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>functionName</parameter></methodparam>
</methodsynopsis>
<para>
Lee el código de bytes de una función existente de PHP y lo escribe al
gestor de archivo abierto. El orden no es importante, (p.ej. si la función b utiliza
la función a, y se compila como en el ejemplo de abajo, funcionará
perfectamente).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>functionName</parameter></term>
<listitem>
<para>
El nombre de la función, como cadena.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_function</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_function($fh,"mi_función_a");
bcompiler_write_function($fh,"mi_función_b");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,114 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-functions-from-file" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_functions_from_file</refname>
<refpurpose>Escribe todas las funciones definidas en un archivo como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_functions_from_file</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>fileName</parameter></methodparam>
</methodsynopsis>
<para>
Busca todas las funciones declaradas en el archivo dado y escribe sus
códigos de bytes correspondientes a un gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fileName</parameter></term>
<listitem>
<para>
El archivo a compilar.
Se debe usar siempre include o require para el archivo que se intenta compilar.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_functions_from_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
require('module.php');
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-functions-from-file" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_functions_from_file</refname>
<refpurpose>Escribe todas las funciones definidas en un archivo como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_functions_from_file</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>fileName</parameter></methodparam>
</methodsynopsis>
<para>
Busca todas las funciones declaradas en el archivo dado y escribe sus
códigos de bytes correspondientes a un gestor de archivo abierto.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fileName</parameter></term>
<listitem>
<para>
El archivo a compilar.
Se debe usar siempre include o require para el archivo que se intenta compilar.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_functions_from_file</function></title>
<programlisting role="php">
<![CDATA[
<?php
require('module.php');
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_functions_from_file($fh,'module.php');
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_header</function></member>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,110 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-header" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_header</refname>
<refpurpose>Escribe la cabecera de bcompiler</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_header</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>write_ver</parameter></methodparam>
</methodsynopsis>
<para>
Escribe la parte de la cabecera de una archivo bcompiler.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>write_ver</parameter></term>
<listitem>
<para>
Se puede usar para escribir código de bytes en un formato usado anteriormente, por lo que lo
puede usar con versiones anteriores de bcompiler.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_header</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-header" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_header</refname>
<refpurpose>Escribe la cabecera de bcompiler</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_header</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>write_ver</parameter></methodparam>
</methodsynopsis>
<para>
Escribe la parte de la cabecera de una archivo bcompiler.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filehandle</parameter></term>
<listitem>
<para>
Un gestor de archivo como el devuelto por <function>fopen</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>write_ver</parameter></term>
<listitem>
<para>
Se puede usar para escribir código de bytes en un formato usado anteriormente, por lo que lo
puede usar con versiones anteriores de bcompiler.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo de <function>bcompiler_write_header</function></title>
<programlisting role="php">
<![CDATA[
<?php
$fh = fopen("/tmp/ejemplo","w");
bcompiler_write_header($fh);
bcompiler_write_class($fh,"DB");
bcompiler_write_footer($fh);
fclose($fh);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcompiler_write_footer</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,53 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-included-filename" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_included_filename</refname>
<refpurpose>Escribe un archivo incluido como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_included_filename</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
&warn.undocumented.func;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<refentry xml:id="function.bcompiler-write-included-filename" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcompiler_write_included_filename</refname>
<refpurpose>Escribe un archivo incluido como código de bytes</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>bcompiler_write_included_filename</methodname>
<methodparam><type>resource</type><parameter>filehandle</parameter></methodparam>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
</methodsynopsis>
&warn.undocumented.func;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.experimental.func;
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@@ -1,42 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<reference xml:id="ref.bcompiler" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>&Functions; de bcompiler</title>
<partintro>
<section xml:id="bcompiler.contact">
<title>Información de Contacto</title>
<para>
Si tiene algún comentario, alguna corrección de un error, alguna mejora o quiere ayudar
a desarrollar esta bestia, puede mandarme un mail a <link
xlink:href="mailto:alan_k@php.net">alan_k@php.net</link>. Cualquier ayuda es siempre
bienvenida.
</para>
</section>
</partintro>
&reference.bcompiler.entities.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: seros Status: ready -->
<reference xml:id="ref.bcompiler" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>&Functions; de bcompiler</title>
<partintro>
<section xml:id="bcompiler.contact">
<title>Información de Contacto</title>
<para>
Si tiene algún comentario, alguna corrección de un error, alguna mejora o quiere ayudar
a desarrollar esta bestia, puede mandarme un mail a <link
xlink:href="mailto:alan_k@php.net">alan_k@php.net</link>. Cualquier ayuda es siempre
bienvenida.
</para>
</section>
</partintro>
&reference.bcompiler.entities.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Some files were not shown because too many files have changed in this diff Show More