# php_manual

id: posix_pathconf
type: function
doc:
<comment>Description:</comment>
  Returns the value of a configurable limit
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  Returns the value of a configurable limit from <strong>$name</strong> for a <strong>$file</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  The name of the file whose limit you want to get.
  <info>int</info>     <strong>$name</strong>  The name of the configurable limit, one of the following. <info>POSIX_PC_LINK_MAX</info>,
                 <info>POSIX_PC_MAX_CANON</info> <info>POSIX_PC_MAX_INPUT</info>, <info>POSIX_PC_NAME_MAX</info> <info>POSIX_PC_PATH_MAX</info>,
                 <info>POSIX_PC_PIPE_BUF</info> <info>POSIX_PC_CHOWN_RESTRICTED</info>, <info>POSIX_PC_NO_TRUNC</info>
                 <info>POSIX_PC_ALLOC_SIZE_MIN</info>, <info>POSIX_PC_SYMLINK_MAX</info>

<comment>Return:</comment>
  <info>int|false</info>  Returns the configurable limit or <info>false</info>.

<comment>See Also:</comment>
   * <strong>posix_fpathconf()</strong>


id: posix_setegid
type: function
doc:
<comment>Description:</comment>
  Establecer el GID efectivo del proceso actual
  
  Establece el ID de grupo efectivo del proceso actual. Esta es una función privilegiada y se
  necesitan los permisos apropiados (usualmente root) en el sistema para contar con la capacidad de
  ejecutar esta función.

<comment>Param:</comment>
  <info>int</info>  <strong>$gid</strong>  El id de grupo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getgid()</strong>
   * <strong>posix_setgid()</strong>


id: posix_seteuid
type: function
doc:
<comment>Description:</comment>
  Establecer el UID efectivo del proceso actual
  
  Establece el ID de usuario real del proceso actual. Esta es una función privilegiada y se
  necesitan los permisos apropiados (usualmente root) en el sistema para tener la capacidad de
  ejecutar esta función.

<comment>Param:</comment>
  <info>int</info>  <strong>$uid</strong>  El id de usuario.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>posix_setgid()</strong>


id: posix_setgid
type: function
doc:
<comment>Description:</comment>
  Establecer el GID de proceso actual
  
  Establece el ID real de grupo al proceso actual. Esta en una función privilegiada y necesita los
  privilegios apropiados (normalmente "root") en el sistema para ser capaza de realizar esta
  función. El orden apropiado de las llamadas a las funciones es <strong>posix_setgid()</strong> primero,
  <strong>posix_setuid()</strong> la última.
  
  Si el llamador es un superusuario también se establecerá el id efectivo de grupo.

<comment>Param:</comment>
  <info>int</info>  <strong>$gid</strong>  El id de grupo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getgid()</strong>


id: posix_setpgid
type: function
doc:
<comment>Description:</comment>
  Establecer el id de grupo de procesos para el control de trabajo
  
  Permite al proceso <strong>$pid</strong> unirse al grupo de procesos <strong>$pgid</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$pid</strong>   El id del proceso.
  <info>int</info>  <strong>$pgid</strong>  El id de grupo de procesos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * 
     Véase POSIX.1 y la página del manual setsid(2) del sistema POSIX para más
     información sobre grupos de proceoss y control de trabajo.
    


id: posix_setrlimit
type: function
doc:
<comment>Description:</comment>
  Establecer los límites de recursos del sistema
  
  <strong>posix_setrlimit()</strong> establece los límites blando y duro para un recurso de sistema dado.
  
  Cada recurso tiene asociado un límite blando («soft») y otro duro («hard»). El límite blando es el
  valor que el núcleo impone al recurso correspondiente. El límete duro actúa como tope para el
  límite blando. Un proceso sin privilegios solo puede establecer su límite blando a un valor desde
  0 al límite duro, e irreparablemente menor que su límite duro.

<comment>Param:</comment>
  <info>int</info>  <strong>$resource</strong>   La constante de límite de recurso conrrespondiente al límite  a establecer.
  <info>int</info>  <strong>$softlimit</strong>  El límite blando, en la unidad que el límite del recurso requiera, o
                   <info>POSIX_RLIMIT_INFINITY</info>.
  <info>int</info>  <strong>$hardlimit</strong>  El límite duro, en la unidad que el límite del recurso requiera, o
                   <info>POSIX_RLIMIT_INFINITY</info>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * La página SETRLIMIT(2) de man
   * <strong>posix_getrlimit()</strong>


id: posix_setsid
type: function
doc:
<comment>Description:</comment>
  Hacer del proceso actual un líder de sesión
  
  Hace del proceso actual un líder de sesión.

<comment>Return:</comment>
  <info>int</info>  Devuelve un id de sesión, o -1 si ocurrió algún error.

<comment>See Also:</comment>
   * 
     Las páginas del manual POSIX.1 y setsid(2) del sistema POSIX para más
     información sobre los grupos de procesos y el control de trabajo.
    


id: posix_setuid
type: function
doc:
<comment>Description:</comment>
  Establecer el UID del proceso actual
  
  Establece el ID real de usuario del proceso actual. Esta es una función privilegiada que necesita
  los privilegios apropiados (normalmente root) del sistema para que sea capaz de realizar esta
  función.

<comment>Param:</comment>
  <info>int</info>  <strong>$uid</strong>  El id de usuario.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>posix_setgid()</strong>
   * <strong>posix_seteuid()</strong>
   * <strong>posix_getuid()</strong>
   * <strong>posix_geteuid()</strong>


id: posix_strerror
type: function
doc:
<comment>Description:</comment>
  Recuperar el mensaje de error del sistema asociado con el errno dado
  
  Devuelve el mensaje de error del sistema POSIX asociado con el <strong>$errno</strong>. Es posible obtener el
  parámetro <strong>$errno</strong> llamando la función <strong>posix_get_last_error()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$errno</strong>  Un número de error POSIX, devuelto por <strong>posix_get_last_error()</strong>. Si se define como 0,
               entonces se devuelve la cadena "Success".

<comment>Return:</comment>
  <info>string</info>  Devuelve el mensaje de error, como una cadena.

<comment>See Also:</comment>
   * <strong>posix_get_last_error()</strong>


id: posix_sysconf
type: function
doc:
<comment>Description:</comment>
  Returns system runtime information
  
  Returns system runtime information.

<comment>Param:</comment>
  <info>int</info>  <strong>$conf_id</strong>  Identifier of the variable with the following constants <info>POSIX_SC_ARG_MAX</info>,
                 <info>POSIX_SC_PAGESIZE</info> <info>POSIX_SC_NPROCESSORS_CONF</info>, <info>POSIX_SC_NPROCESSORS_ONLN</info>

<comment>Return:</comment>
  <info>int</info>  Returns the numeric value related to <strong>$conf_id</strong>


id: posix_times
type: function
doc:
<comment>Description:</comment>
  Obtener los tiempos de procesos
  
  Obtiene informaciónsobre el uso actual de CPU.

<comment>Return:</comment>
  <info>array</info>  Devuelve un hash de cadenas con iformación sobre el uso de CPU del proceso actual. Los
         índices del hash son:  ticks - el número de pulsos de reloj que han trasncurrido desde el
         reinicio.  utime - tiempo de usuario usado por el proceso actual.  stime - tiempo de
         sistema usado por el proceso actual.  cutime - tiempop de usuario usado por el proceso
         actual y sus hijos.  cstime - tiempo de sistema usado por el proceso actual y sus hijos.
         
         ticks - el número de pulsos de reloj que han trasncurrido desde el reinicio.
         
         utime - tiempo de usuario usado por el proceso actual.
         
         stime - tiempo de sistema usado por el proceso actual.
         
         cutime - tiempop de usuario usado por el proceso actual y sus hijos.
         
         cstime - tiempo de sistema usado por el proceso actual y sus hijos.


id: posix_ttyname
type: function
doc:
<comment>Description:</comment>
  Determinar el nombre del dispositivo terminal
  
  Devuelve un <info>string</info> de la ruta absulota del dispositivo terminal actual que está abierto en el
  descriptor de ficheros <strong>$fd</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$fd</strong>  El descriptor del fichero, el cual se prevee que sea o un <info>resource</info> de fichero o un
              <info>integer</info>. Se asumirá que un <info>integer</info> sea un descriptor de fichero que pueda pasarse
              directamente a la llamada del sistema subyacente.
              
              En la mayoría de los casos se proporcionará un <info>resource</info> de fichero.

<comment>Return:</comment>
  <info>string</info>  En caso de éxito devuelve un <info>string</info> de la ruta absoluta del <strong>$fd</strong>. En caso de fallo devuelve
          <info>false</info>


id: posix_uname
type: function
doc:
<comment>Description:</comment>
  Obtener el nombre del sistema
  
  Obtiene información sobre elsistema.
  
  Posix requiere que estas suposiciones no deben hacerse sobre el formato de los valores, p.ej. la
  suposición que la versión puede contener tres dígitos o cualquier otra cosa devuelta por esta
  función.

<comment>Return:</comment>
  <info>array</info>  Returns un hash de cadena con información sobre el sistema. Los índices del hash son
         sysname - nombre del sistema operativo (p.ej. Linux)  nodename - nombre del sistema (p.ej.
         valiant)  release - versión de publicación del sistema operativo (p.ej. 2.2.10)  version -
         versión del sistema operativo (p.ej. #4 Tue Jul 20 17:01:36 MEST 1999)  machine -
         arquitectura del sistema (p.ej. i586)  domainname - nombre del dominio DNS (p.ej.
         example.com)
         
         sysname - nombre del sistema operativo (p.ej. Linux)
         
         nodename - nombre del sistema (p.ej. valiant)
         
         release - versión de publicación del sistema operativo (p.ej. 2.2.10)
         
         version - versión del sistema operativo (p.ej. #4 Tue Jul 20 17:01:36 MEST 1999)
         
         machine - arquitectura del sistema (p.ej. i586)
         
         domainname - nombre del dominio DNS (p.ej. example.com)
         
         domainname es una extensión GNU y no es parte de POSIX.1, por lo que este campo solamente
         está disponible en sistemas GNU o cuando se usa GNU libc.


id: pow
type: function
doc:
<comment>Description:</comment>
  Expresión exponencial
  
  Devuelve el valor de <strong>$base</strong> elevado a la potencia <strong>$exp</strong>.
  
  En PHP 5.6 en adelante, se podría preferir el empleo del operador **.

<comment>Param:</comment>
  <info>number</info>  <strong>$base</strong>  La base a emplear
  <info>number</info>  <strong>$exp</strong>   El exponente

<comment>Return:</comment>
  <info>number</info>  <strong>$base</strong> elevada a la potencia de <strong>$exp</strong>. Si ambos argumentos son números enteros no negativos
          y el resultado puede ser representado como un entero, el resultado será devuelto con tipo
          <info>integer</info>; de lo contrario se devuelve como un <info>float</info>.

<comment>See Also:</comment>
   * <strong>exp()</strong>
   * <strong>sqrt()</strong>
   * <strong>bcpow()</strong>
   * <strong>gmp_pow()</strong>


id: preg_filter
type: function
doc:
<comment>Description:</comment>
  Realiza una búsqueda y sustitución de una expresión regular
  
  <strong>preg_filter()</strong> es idéntica a <strong>preg_replace()</strong> excepto que sólo devuelve los sujetos (posiblemente
  tranformados) donde hubo una coincidencia. Los detalles de cómo trabaja esta función se encuentra
  en la documentación de <strong>preg_replace()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un <info>array</info> si el parámetro <strong>$subject</strong> es un <info>array</info>, de lo contrario devuelve un <info>string</info>.
         
         Si no se encontraron coincidencias u ocurrió un error, se devuelve un <info>array</info> vacío cuando
         <strong>$subject</strong> es un <info>array</info> o <info>null</info> de otro modo.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_grep()</strong>
   * <strong>preg_last_error()</strong>


id: preg_grep
type: function
doc:
<comment>Description:</comment>
  Devuelve entradas de matriz que coinciden con el patrón
  
  Devuelve la matriz consistente en los elementos de la matriz  <strong>$input</strong> que coinciden con <strong>$pattern</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  El patrón de búsqueda, como cadena.
  <info>array</info>   <strong>$input</strong>    La matriz de entrada.
  <info>int</info>     <strong>$flags</strong>    Si se establece a <info>PREG_GREP_INVERT</info>, esta función devuelve los elementos de la
                    matriz de entrada que no coinciden con <strong>$pattern</strong>.

<comment>Return:</comment>
  <info>array</info>  Devuelve una matriz indexada usando las claves de la matriz <strong>$input</strong>.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_filter()</strong>
   * <strong>preg_last_error()</strong>


id: preg_last_error
type: function
doc:
<comment>Description:</comment>
  Devuelve el código de error de la última ejecución de expresión regular de PCRE
  
  Devuelve el código de error de la última ejecución de expresión regular de PCRE.
  
  Ejemplo de <strong>preg_last_error()</strong>
  ]]>El resultado del ejemplo sería:
  
  El resultado del ejemplo sería:

<comment>Return:</comment>
  <info>int</info>  Devuelve una de las siguientes constantes (explicadas en su propia página):
       <info>PREG_NO_ERROR</info><info>PREG_INTERNAL_ERROR</info><info>PREG_BACKTRACK_LIMIT_ERROR</info> (vea también
       pcre.backtrack_limit)<info>PREG_RECURSION_LIMIT_ERROR</info> (vea también
       pcre.recursion_limit)<info>PREG_BAD_UTF8_ERROR</info><info>PREG_BAD_UTF8_OFFSET_ERROR</info> (desde PHP
       5.3.0)<info>PREG_JIT_STACKLIMIT_ERROR</info> (since PHP 7.0.0)


id: preg_last_error_msg
type: function
doc:
<comment>Description:</comment>
  Returns the error message of the last PCRE regex execution
  
  Returns the error message of the last PCRE regex execution.

<comment>Return:</comment>
  <info>string</info>  Returns the error message on success, or <return>"No error"</return> if no error has occurred.

<comment>See Also:</comment>
   * <strong>preg_last_error()</strong>


id: preg_match
type: function
doc:
<comment>Description:</comment>
  Realiza una comparación con una expresión regular
  
  Busca en <strong>$subject</strong> una coincidencia con la expresión regular dada en <strong>$pattern</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  El patrón de búsqueda, como cadena.
  <info>string</info>  <strong>$subject</strong>  La cadena de entrada.
  <info>array</info>   <strong>$matches</strong>  Si se proporciona <strong>$matches</strong>, entonces éste se llena con los resultados de la
                    búsqueda. $matches[0] contendrá el texto que coincidió con el patrón completo,
                    $matches[1] tendrá el texto que coincidió con el primer sub-patrón entre
                    paréntesis capturado, y así sucesivamente.
  <info>int</info>     <strong>$flags</strong>    <strong>$flags</strong> puede estar seguido de la siguiente bandera: <info>PREG_OFFSET_CAPTURE</info> Si se
                    pasa esta bandera, por cada coincidencia producida, el índice de la cadena
                    añadida también será devuelto. Observe que esto cambia el valor de <strong>$matches</strong>
                    dentro de una matriz donde cada elemento es una matriz consistente en la cadena
                    coincidente en el índice <return>0</return> y su índice dentro de la cadena <strong>$subject</strong> en el índice
                    <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]> 
                    
                    Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena
                    añadida también será devuelto. Observe que esto cambia el valor de <strong>$matches</strong>
                    dentro de una matriz donde cada elemento es una matriz consistente en la cadena
                    coincidente en el índice <return>0</return> y su índice dentro de la cadena <strong>$subject</strong> en el índice
                    <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
  <info>array</info>   <strong>$matches</strong>  Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena
                    añadida también será devuelto. Observe que esto cambia el valor de <strong>$matches</strong>
                    dentro de una matriz donde cada elemento es una matriz consistente en la cadena
                    coincidente en el índice <return>0</return> y su índice dentro de la cadena <strong>$subject</strong> en el índice
                    <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
  <info>int</info>     <strong>$offset</strong>   Normalmente, la búsqueda comienza por el principio de la cadena objetivo. El
                    parámetro opcional <strong>$offset</strong> se puede usar para especificar el lugar alternativo
                    desde el cual comenzar la búsqueda (en bytes).
                    
                    Usar <strong>$offset</strong> no es equivalente a pasar <return>substr($sujeto, $índice)</return> a <strong>preg_match()</strong>
                    en lugar de la cadena objetivo, ya que <strong>$pattern</strong> puede contener declaraciones
                    como ^, $ o (?\<=x). Compare:
                    ]]>El resultado del ejemplo sería: mientras que este ejemplo 
                    ]]> producirá  Array ( [0] => def [1] => 0 )
                    
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
                    
                    mientras que este ejemplo
                    
                    producirá

<comment>Return:</comment>
  <info>int</info>  <strong>preg_match()</strong> devuelve 1 si <strong>$pattern</strong> coincide con el <strong>$subject</strong> dado, 0 si no, o <info>false</info> si
       ocurrió un error.
       
       Esta función puede
       devolver el valor booleano <info>false</info>, pero también puede devolver un valor no booleano que se
       evalúa como <info>false</info>. Por favor lea la sección sobre Booleanos para más
       información. Use el operador
       === para comprobar el valor devuelto por esta
       función.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>


id: preg_match_all
type: function
doc:
<comment>Description:</comment>
  Realiza una comparación global de una expresión regular
  
  Busca en <strong>$subject</strong> todas las coincidencias de la expresión regular dada en <strong>$pattern</strong> y las introduce
  en <strong>$matches</strong> en el orden especificado por <strong>$flags</strong>.
  
  Después haber encontrado la primera coincidencia, las búsquedas subsiguientes continuarán desde el
  final de la dicha coincidencia.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  El patrón de búsqueda, dado como string.
  <info>string</info>  <strong>$subject</strong>  La cadena de entrada.
  <info>array</info>   <strong>$matches</strong>  Un array con todas las coincidencias en un array multi-dimensional ordenadas
                    según <strong>$flags</strong>.
  <info>int</info>     <strong>$flags</strong>    Puede ser una combinación de las siguientes banderas (observe que no tiene
                    sentido usar <info>PREG_PATTERN_ORDER</info> junto con <info>PREG_SET_ORDER</info>): <info>PREG_PATTERN_ORDER</info>
                    Ordena los resultados de forma que $matches[0] es un array de coincidencias del
                    patrón completo, $matches[1] es un array de cadenas coincidentes por el primer
                    subpatrón entre paréntesis, y así sucesivamente.
                    ]]>El resultado del ejemplo sería:ejemplo: , esto es una prueba
                    ejemplo: , esto es una prueba
                    ]]> Así, $salida[0] contiene un array de cadenas que coinciden con el patrón
                    completo, y $salida[1] contiene un array de cadenas encerradas entre etiquetas.
                    Si el patrón contiene subpatrones con nombre, $matches contendrá además entradas
                    para claves con el nombre del subpatrón.  Si el subpatrón contiene subpatrones
                    con nombres duplicados, solamente se almacenará en $matches[NAME] el último
                    subpatrón de la derecha.
                    ]]>El resultado del ejemplo sería:  [1] => bar
                    )
                    ]]> <info>PREG_SET_ORDER</info> Ordena los resultados de forma que $matches[0] es un array
                    del primer conjunto de coincidencias, $matches[1] es un array del segundo
                    conjunto de coincidencias, y así sucesivamente.
                    ]]>El resultado del ejemplo sería:ejemplo: , ejemplo:
                    esto es una prueba, esto es una prueba
                    ]]> <info>PREG_OFFSET_CAPTURE</info> Si se pasa esta bandera, por cada coincidencia
                    producida, el índice de la cadena añadida también será devuelto. Observe que
                    esto cambia el valor de <strong>$matches</strong> dentro de un array de arrays donde cada
                    elemento es un array consistente en la cadena coincidente en el índice <return>0</return> y su
                    índice de cadena dentro de <strong>$subject</strong> en el índice <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => Array ( [0] => foobarbaz [1]
                    => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]> 
                    
                    Ordena los resultados de forma que $matches[0] es un array de coincidencias del
                    patrón completo, $matches[1] es un array de cadenas coincidentes por el primer
                    subpatrón entre paréntesis, y así sucesivamente.
                    
                    
                    ]]>El resultado del ejemplo sería:ejemplo: , esto es una prueba
                    ejemplo: , esto es una prueba
                    ]]> Así, $salida[0] contiene un array de cadenas que coinciden con el patrón
                    completo, y $salida[1] contiene un array de cadenas encerradas entre etiquetas.
                    
                    El resultado del ejemplo sería:
                    
                    Así, $salida[0] contiene un array de cadenas que coinciden con el patrón
                    completo, y $salida[1] contiene un array de cadenas encerradas entre etiquetas.
                    
                    Si el patrón contiene subpatrones con nombre, $matches contendrá además entradas
                    para claves con el nombre del subpatrón.
                    
                    Si el subpatrón contiene subpatrones con nombres duplicados, solamente se
                    almacenará en $matches[NAME] el último subpatrón de la derecha.
                    ]]>El resultado del ejemplo sería:  [1] => bar
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
                    
                    Ordena los resultados de forma que $matches[0] es un array del primer conjunto
                    de coincidencias, $matches[1] es un array del segundo conjunto de coincidencias,
                    y así sucesivamente.
                    ]]>El resultado del ejemplo sería:ejemplo: , ejemplo:
                    esto es una prueba, esto es una prueba
                    ]]>
                    
                    El resultado del ejemplo sería:
                    
                    Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena
                    añadida también será devuelto. Observe que esto cambia el valor de <strong>$matches</strong>
                    dentro de un array de arrays donde cada elemento es un array consistente en la
                    cadena coincidente en el índice <return>0</return> y su índice de cadena dentro de <strong>$subject</strong> en el
                    índice <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => Array ( [0] => foobarbaz [1]
                    => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
                    
                    Si no se da un orden de bandera, se asume <info>PREG_PATTERN_ORDER</info>.
  <info>array</info>   <strong>$matches</strong>  Si se pasa esta bandera, por cada coincidencia producida, el índice de la cadena
                    añadida también será devuelto. Observe que esto cambia el valor de <strong>$matches</strong>
                    dentro de un array de arrays donde cada elemento es un array consistente en la
                    cadena coincidente en el índice <return>0</return> y su índice de cadena dentro de <strong>$subject</strong> en el
                    índice <return>1</return>.
                    ]]>El resultado del ejemplo sería: Array ( [0] => Array ( [0] => foobarbaz [1]
                    => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]>
                    
                    El resultado del ejemplo sería:
  <info>int</info>     <strong>$offset</strong>   Normalmente, la búsqueda comienza por el principio de la cadena objetivo. El
                    parámetro opcional <strong>$offset</strong> se puede usar para especificar el lugar alternativo
                    desde el cual comenzar la búsqueda (en bytes).
                    
                    Usar <strong>$offset</strong> no es equivalente a pasar <return>substr($sujeto, $índice)</return> a <strong>preg_match()</strong>
                    en lugar de la cadena objetivo, ya que <strong>$pattern</strong> puede contener declaraciones
                    como ^, $ o (?\<=x). Véase <strong>preg_match()</strong> para los ejemplos.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de coincidencias del patrón completo (el cual puede ser cero), o <info>false</info> si
       se produjo un error.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>


id: preg_quote
type: function
doc:
<comment>Description:</comment>
  Escapar caracteres en una expresión regular
  
  <strong>preg_quote()</strong> toma <strong>$string</strong> y pone una barra invertida delante de cada carácter que es parte de la
  sintaxis de la expresión regular. Esto es útil si tiene una cadena en tiempo de ejecución que
  necesite comparar con algún texto, y la cadena pueda contener caracteres de expresiones regulares
  especiales.
  
  Los caracteres de expresiones regulares especiales son: <return>. \ + * ? [ ^ ] $ ( ) { } = !
  \< &gt; | : -</return>
  
  Observe que <return>/</return> no es un carácter especial de expresión regular.
  
  Observe que <strong>preg_quote()</strong> no está pensada para que sea apliaca a los strings de <strong>preg_replace()</strong> etc.

<comment>Param:</comment>
  <info></info>        <strong>$string</strong>     La cadena de entrada.
  <info>string</info>  <strong>$delimiter</strong>  Si se especifica el parámetro opcional <strong>$delimiter</strong>, éste también será escapado.
                      Esto es útil para escapar el delimitador que es necesario para las funciones
                      PCRE. El delimitador <return>/</return>es el que se usa comúnmente.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string entrecomillado (escapado).

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>escapeshellcmd()</strong>


id: preg_replace
type: function
doc:
<comment>Description:</comment>
  Realiza una búsqueda y sustitución de una expresión regular
  
  Busca en <strong>$subject</strong> coincidencias de <strong>$pattern</strong> y las reemplaza con <strong>$replacement</strong>.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$pattern</strong>      El patrón de búsqueda. Puede ser tanto una cadena como un array de
                              cadenas.
                              
                              También hay disponibles varios modificadores de PCRE.
  <info>string|array</info>  <strong>$replacement</strong>  La cadena o array de cadenas a reemplazar. Si este parámetro es una
                              cadena y el parámetro <strong>$pattern</strong> es un array, todos los patrones serán
                              sustituidos por esa cadena. Si ambos parámetros, <strong>$pattern</strong> y
                              <strong>$replacement</strong>, son arrays, cada <strong>$pattern</strong> será reemplazado por el
                              <strong>$replacement</strong> equivalente. Si hay menos elementos en el array
                              <strong>$replacement</strong> que en el array <strong>$pattern</strong>, cualquier <strong>$pattern</strong> extra será
                              reemplazado por una cadena vacía.
                              
                              <strong>$replacement</strong> puede contener referencias de la forma <return>\\n</return> o <return>$n</return>, siendo
                              preferida la última forma. Cada referencia de este tipo será
                              sustituida por el texto capturado por el n-simo patrón entre
                              paréntesis. n puede ser desde 0 a 99, y <return>\\0</return> o <return>$0</return> se refiere al texto
                              coincidido por el patrón completo. Los paréntesis de apertura se
                              cuentan de izquierda a derecha (comenzando por 1) para obtener el
                              número de sub-patrones de captura. Se debe doblar la barra invertida
                              para poder usarla en la sustitución (cadena PHP <return>"\\\\"</return>).
                              
                              Cuando se trabaja con un patrón de sustitución donde una
                              retroreferencia es immediatamente seguida de otro número (p.ej.:
                              colocar un número literal immediatamente después de un patrón
                              coincidido), no puede usar la notación familiar <return>\\1</return> para sus
                              retroreferencias. <return>\\11</return>, por ejemplo, confundiría a <strong>preg_replace()</strong> ya
                              que no sabe si quiere que la retroreferencia <return>\\1</return> esté seguida por un
                              literal <return>1</return>, o que la retroreferencia <return>\\11</return> esté seguida de nada. En este
                              caso la solución es usar <return>${1}1</return>. Esto crea una retroreferencia <return>$1</return>
                              aislada, dejando el <return>1</return> como un literal.
                              
                              Cuando se usa el modificador obsoleto <return>e</return>, esta función escapa algunos
                              caracteres (a saber, <return>'</return>, <return>"</return>, <return>\</return> y NULL) en la cadena que sustituye a las
                              retroreferencias. Esto está hecho para asegurarse de que no surjan
                              errores de sintaxis en el uso de retroreferencias con comillas simples
                              o dobles (p.ej. <return>'strlen(\'$1\')+strlen("$2")'</return>). Asegúrese de que
                              conoce la sintaxis de cadena para saber cómo se asemejarán las cadenas
                              interpretadas.
  <info>string|array</info>  <strong>$subject</strong>      La cadena o array de cadenas a buscar y sustituir.
                              
                              Si <strong>$subject</strong> es un array, entonces la búsqueda y sustitución se llevan
                              a cabo para cada entrada de <strong>$subject</strong>, y el valor devuelto también es
                              un array.
  <info>int</info>           <strong>$limit</strong>        Las sustituciones máximas posibles por cada patrón en cada cadena
                              <strong>$subject</strong>. Por defecto es <return>-1</return> (sin límite).
  <info>int</info>           <strong>$count</strong>        Si se especifica, esta variable será rellenada con el número de
                              sustituciones hechas.

<comment>Return:</comment>
  <info>string|array|null</info>  <strong>preg_replace()</strong> devuelve un array si el parámetro <strong>$subject</strong> es un array, o, de lo
                     contrario, una cadena.
                     
                     Si se encuentran coincidencias, el nuevo <strong>$subject</strong> será devuelto, de lo
                     contrario, <strong>$subject</strong> será devuelto sin cambios o <info>null</info> si se produjo un error.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>preg_filter()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>


id: preg_replace_callback
type: function
doc:
<comment>Description:</comment>
  Realiza una búsqueda y sustitución de una expresión regular usando una llamada de retorno
  
  El comportamiento de esta función es casi idéntico al de <strong>preg_replace()</strong>, excepto por el hecho de
  que en vez del parámetro <strong>$replacement</strong>, se debería especificar <strong>$callback</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$pattern</strong>   El patron de búsqueda. Puede ser tanto un cadena como un array de cadenas.
  <info>callable</info>  <strong>$callback</strong>  Una llamada de retorno que será llamada y pasada a un array de elementos
                       coincidentes en la cadena <strong>$subject</strong>. La llamada de retorno debería devolver la
                       cadena de sustitución. Esta es la firma de la llamada de retorno:
                       
                       <info>string</info>handler<info>array</info><strong>$matches</strong>
                       
                       A menudo se necesitará la función de <strong>$callback</strong> para usar
                       <strong>preg_replace_callback()</strong> únicamente en un lugar. En este caso se puede usar
                       una función anónima para declarar una llamada de retorno dentro de la llamada
                       a <strong>preg_replace_callback()</strong>. Al hacerlo de este modo, se tiene toda la
                       información de la llamada en un único lugar y no abarrota el espacio de
                       nombres de funciones con un nombre de función de llamada de retorno que no se
                       usa en ningún otro sitio.
                       
                       <strong>preg_replace_callback()</strong> y función anónima
                       ]]>
  <info>mixed</info>     <strong>$subject</strong>   La cadena o un array de cadenas a buscar y reemplazar.
  <info>int</info>       <strong>$limit</strong>     Las sustituciones máximas posibles por cada patrón en cada cadena <strong>$subject</strong>.
                       Por defecto <return>-1</return> (sin límite).
  <info>int</info>       <strong>$count</strong>     Si se especifica, esta variable será rellenada con el número de sustituciones
                       hechas.

<comment>Return:</comment>
  <info>mixed</info>  <strong>preg_replace_callback()</strong> devuelve un array si el parámetro <strong>$subject</strong> es un array, o, por el
         contrario una cadena. Si se producen errores, el valor devuleto es <info>null</info>
         
         Si se encontraron coincidencias, el nuevo sujeto será devuelto, de lo contrario <strong>$subject</strong>
         será devuelto sin cambios.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_replace_callback_array()</strong>
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>
   * Funciones anónimas


id: preg_replace_callback_array
type: function
doc:
<comment>Description:</comment>
  Realizar una búsqueda y sustitución de expresión regular con retrollamadas
  
  El comportamiento de esta función es similar a la de <strong>preg_replace_callback()</strong>, excepto que las
  retrollamadas se ejecutan en función de cada patrón.

<comment>Param:</comment>
  <info>array</info>  <strong>$patterns_and_callbacks</strong>  Un array asociativo con correspondencias entre patrones (claves) y
                                  retrollamadas (valores).
  <info>mixed</info>  <strong>$subject</strong>                 El sujeto. Un string o array con varios strings para la búsqueda y
                                  sustitución.
  <info>int</info>    <strong>$limit</strong>                   Las sustituciones máximas posibles para cada patrón en cada string
                                  de <strong>$subject</strong>. Su valor predeterminado es de <return>-1</return> (sin límite).
  <info>int</info>    <strong>$count</strong>                   La cuenta. Si se especifica, esta variable contrendrá el número de
                                  sustituciones hechas.

<comment>Return:</comment>
  <info>mixed</info>  <strong>preg_replace_callback_array()</strong> devuelve un array si el parámetro <strong>$subject</strong> es un array, o un
         string en caso contrario. En caso de error devuelve <info>null</info>
         
         Si se encuentran coincidencias, será devuelto el nuevo sujeto; si no, <strong>$subject</strong> será
         devuelto sin cambios.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>
   * Funciones anónimas


id: preg_split
type: function
doc:
<comment>Description:</comment>
  Divide un string mediante una expresión regular
  
  Divide el string dado mediante una expresión regular.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  El patrón de búsqueda, dado como string.
  <info>string</info>  <strong>$subject</strong>  El string de entrada.
  <info>int</info>     <strong>$limit</strong>    Si se especifica, son devueltos únicamente los substrings hasta <strong>$limit</strong>, con el
                    resto del string colocado en el último substring. Si <strong>$limit</strong> vale -1 o 0
                    significa "sin límite".
  <info>int</info>     <strong>$flags</strong>    <strong>$flags</strong> puede ser una combinación de las siguientes banderas (combinadas con el
                    operador <return>|</return> de bits): <info>PREG_SPLIT_NO_EMPTY</info> Si se aplica esta bandera, solo serán
                    devueltos los elementos no vacíos por <strong>preg_split()</strong>. <info>PREG_SPLIT_DELIM_CAPTURE</info> Si
                    se aplica esta bandera, las expresiones entre paréntesis en el patrón
                    delimitador serán capturadas y devueltas. <info>PREG_SPLIT_OFFSET_CAPTURE</info> Si se aplica
                    esta bandera, por cada coincidencia producida, el índice del string añadido
                    también será devuelto. Observe que esto cambia el valor devuelto dentro de un
                    array donde cada elemento es un array consistente en el string coincidente en el
                    índice <return>0</return> y su índice de string dentro de <strong>$subject</strong> en el índice <return>1</return>.
                    
                    Si se aplica esta bandera, solo serán devueltos los elementos no vacíos por
                    <strong>preg_split()</strong>.
                    
                    Si se aplica esta bandera, las expresiones entre paréntesis en el patrón
                    delimitador serán capturadas y devueltas.
                    
                    Si se aplica esta bandera, por cada coincidencia producida, el índice del string
                    añadido también será devuelto. Observe que esto cambia el valor devuelto dentro
                    de un array donde cada elemento es un array consistente en el string coincidente
                    en el índice <return>0</return> y su índice de string dentro de <strong>$subject</strong> en el índice <return>1</return>.
  <info>string</info>  <strong>$subject</strong>  Si se aplica esta bandera, por cada coincidencia producida, el índice del string
                    añadido también será devuelto. Observe que esto cambia el valor devuelto dentro
                    de un array donde cada elemento es un array consistente en el string coincidente
                    en el índice <return>0</return> y su índice de string dentro de <strong>$subject</strong> en el índice <return>1</return>.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array que contiene substrings de <strong>$subject</strong> dividido por los límites coincidentes
         de <strong>$pattern</strong>,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * Patrones de PCRE
   * <strong>preg_quote()</strong>
   * <strong>implode()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>


id: prev
type: function
doc:
<comment>Description:</comment>
  Rebobina el puntero interno del array
  
  Rebobina el puntero interno del array.
  
  <strong>prev()</strong> se comporta como <strong>next()</strong>, a excepción de que rebobina el puntero interno del array una
  posición en lugar de avanzar.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  El array de entrada.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve el valor del array en la posición anterior que está apuntado por el puntero
         interno del array o <info>false</info> si no hay más  elementos.

<comment>See Also:</comment>
   * <strong>current()</strong>
   * <strong>end()</strong>
   * <strong>next()</strong>
   * <strong>reset()</strong>
   * <strong>each()</strong>


id: print
type: function
doc:
<comment>Description:</comment>
  Mostrar una cadena
  
  Muestra el parámetro <strong>$arg</strong>.
  
  <return>print</return> no es realmente una función (es un constructor de lenguaje)  por lo tanto no es necesario
  usar paréntesis para indicar su lista de argumentos.

<comment>Param:</comment>
  <info>string</info>  <strong>$arg</strong>  Los datos de entrada.

<comment>Return:</comment>
  <info>int</info>  Siempre devuelve <return>1</return>.

<comment>See Also:</comment>
   * <strong>echo()</strong>
   * <strong>printf()</strong>
   * <strong>flush()</strong>
   * Sintaxis de Heredoc


id: print_r
type: function
doc:
<comment>Description:</comment>
  Imprime información legible para humanos sobre una variable
    
  
  <strong>print_r()</strong> muestra información sobre una variable  en una forma que es legible por humanos.
  
  <strong>print_r()</strong>, <strong>var_dump()</strong> y <strong>var_export()</strong> mostrarán también propiedades protegidas y privadas de
  objetos. Miembros de la clase estática no se mostrarán.

<comment>Param:</comment>
  <info></info>      <strong>$expresión</strong>  La expresión a ser impresa.
  <info>bool</info>  <strong>$return</strong>     Si desea capturar la salida de <strong>print_r()</strong>,  use el parámetro <strong>$return</strong>. Cuando el
                    parámetro es establecido a <info>true</info>, <strong>print_r()</strong> devolverá la información en lugar de
                    imprimirla.

<comment>Return:</comment>
  <info>mixed</info>  Si se le da <info>string</info>, <info>integer</info> o <info>float</info>, el valor en sí mismo será impreso. Si le dan un <info>array</info>,
         los valores  serán presentados en un formato que muestra las claves y los elementos. Una
         notación similar  se utiliza para <info>object</info>s.
         
         Cuando el parámetro <strong>$return</strong> es <info>true</info>, esta función devolverá un <info>string</info>. De lo contrario,
         devolverá <info>true</info>.

<comment>See Also:</comment>
   * <strong>ob_start()</strong>
   * <strong>var_dump()</strong>
   * <strong>var_export()</strong>


id: printf
type: function
doc:
<comment>Description:</comment>
  Imprimir una cadena con formato
  
  Produce una salida de acuerdo con el <strong>$format</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  Vea <strong>sprintf()</strong> para una descripción de <strong>$format</strong>.
  <info>mixed</info>   <strong>$args</strong>    
  <info>mixed</info>   <strong>$...</strong>     

<comment>Return:</comment>
  <info>int</info>  Devuelve la longitud de la cadena impresa.

<comment>See Also:</comment>
   * <strong>print()</strong>
   * <strong>sprintf()</strong>
   * <strong>vprintf()</strong>
   * <strong>sscanf()</strong>
   * <strong>fscanf()</strong>
   * <strong>flush()</strong>


id: proc_close
type: function
doc:
<comment>Description:</comment>
  Cierra un proceso abierto mediante proc_open y devuelve el códido de salida de tal proceso
  
  <strong>proc_close()</strong> es similar a <strong>pclose()</strong> excepto que este solo funciona con procesos abiertos mediante
  <strong>proc_open()</strong>. <strong>proc_close()</strong> espera para la terminación del proceso, y devuelve su código de salida.
  Si se han abierto tuberias para este proceso, se deberia usar <strong>fclose()</strong> antes de la llamada a esta
  función para evitar un punto muerto - es decir, los procesos hijos no seran capaces de salir
  mientras que las tuberias estan abiertas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  El <info>recurso</info> de <strong>proc_open()</strong> que será cerrado.

<comment>Return:</comment>
  <info>int</info>  Devuelve el estado de terminación del proceso que se ejecutó. En caso de error se devolverá
       <return>-1</return>.


id: proc_get_status
type: function
doc:
<comment>Description:</comment>
  Obtiene información sobre un proceso abierto por
    proc_open
  
  <strong>proc_get_status()</strong> recupera información sobre un proceso abierto mediante el uso de <strong>proc_open()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  El <info>resource</info> <strong>proc_open()</strong> que será evaluado.

<comment>Return:</comment>
  <info>array</info>  Un valor <info>array</info> con la información recolectada en caso de éxito, y <info>false</info> si ocurre un error.
         La matriz devuelta contiene los siguientes elementos:
         
         elementtypedescriptioncommand<info>string</info> La cadena del comando que fue pasada a <strong>proc_open()</strong>.
         pid<info>int</info>process idrunning<info>bool</info><info>true</info> si el proceso aun está siendo ejecutado, <info>false</info> si ha
         terminado. signaled<info>bool</info><info>true</info> si el proceso hijo ha sido terminado por una señal no atrapada.
         En windows, este valor siempre es <info>false</info>. stopped<info>bool</info><info>true</info> si el proceso hijo fue detenido
         por una señal. En windows, este valor siempre es <info>false</info>. exitcode<info>int</info> El código de salida
         devuelto por el proceso (el cual tiene sentido únicamente si <return>running</return> es <info>false</info>). Solo la
         primera llamada a esta función devuelve el valor real, la siguiente llamada devuelve <return>-1</return>.
         termsig<info>int</info> El número de la señal que causó que el proceso hijo finalizara su ejecución
         (sólo tiene sentido si <return>signaled</return> es <info>true</info>). stopsig<info>int</info> El número de la señal que causó que el
         proceso hijo detuviera su ejecución (sólo tiene sentido si <return>stopped</return> es <info>true</info>).

<comment>See Also:</comment>
   * <strong>proc_open()</strong>


id: proc_nice
type: function
doc:
<comment>Description:</comment>
  Modificar la prioridad del proceso actual
  
  <strong>proc_nice()</strong> modifica la prioridad del proceso actual por la cantidad especificada en <strong>$increment</strong>.
  Un <strong>$increment</strong> positivo reducirá la prioridad del proceso actual, mientras que un <strong>$increment</strong>
  negativo la incrementará.
  
  <strong>proc_nice()</strong> no está relacionada con <strong>proc_open()</strong> y sus funciones asociadas en ninguna forma.

<comment>Param:</comment>
  <info>int</info>  <strong>$increment</strong>  El valor de incremento del cambio de prioridad.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error. Si ocurre un error, como que el
        usuario carezca de permisos para modificar la prioridad, un error de nivel <info>E_WARNING</info> es
        generado también.


id: proc_open
type: function
doc:
<comment>Description:</comment>
  Ejecuta un comando y abre un puntero de fichero para entrada/salida
    
  
  <strong>proc_open()</strong> es similar a <strong>popen()</strong> pero provee un grado de control mucho más grande sobre la
  ejecución del programa.

<comment>Param:</comment>
  <info>string</info>  <strong>$cmd</strong>             El comando a ejecutar
  <info>array</info>   <strong>$descriptorspec</strong>  Un array indexado donde la clave representa el número descriptor y el
                           valor representa como PHP pasará que descriptor para que proceso hijo. 0
                           es stdin, 1 es stdout, 2 es stderr.
                           
                           Cada elemento puede ser: Un array que describe la tubería que se va a
                           pasar al proceso. El primer elemento es el tipo de descriptor, y el
                           segundo elemento es una opción para el tipo dado. Los tipos válidos son:
                           <return>pipe</return> (en este caso el segundo elemento sería <return>r</return> para pasar a leer el final
                           de la tubería para el proceso, o <return>w</return> para pasar a escribir al final) y <return>file</return>
                           (en este caso el segundo elemento sería el nombre de fichero).  Un
                           recurso de flujo representando un descriptor de un fichero real (p.e. un
                           fichero abierto, un socket, <info>STDIN</info>).
                           
                           Los números descriptores de fichero no estan limitados a 0, 1 y 2. Se
                           puede especificar cualquier número descriptor válido de fichero, y este
                           ser pasado al proceso hijo. Esto permite a su script para inteoperar con
                           otros scripts que corren como "co-procesos". En particular esto es útil
                           pasando passphrases para programas como PGP, GPG y OpenSSL de una manera
                           más segura. Esto es útil también para la lectura de la información del
                           estado provista por estos programas en descriptores de fichero
                           auxiliares.
  <info>array</info>   <strong>$pipes</strong>           En un array indexado es establecerán los punteros de fichero que se
                           corresponden con el fin de cualquier tuberia PHP que se haya creado.
  <info>string</info>  <strong>$cwd</strong>             El directorio inicial de trabajo para el comando. Este debe ser una ruta
                           absoluta, o si se prefiere puede ser <info>null</info> si se desea usar el valor por
                           defecto (entonces será el directorio de trabajo del proceso PHP en curso)
  <info>array</info>   <strong>$env</strong>             Un array con las variables de entorno para el comando que será ejecutado,
                           o <info>null</info> para usar el mismo entorno como el del proceso PHP en curso.
  <info>array</info>   <strong>$other_options</strong>   Permite especificar opciones adicionales. Actualmente las opciones
                           soportadas incluidas son: <return>suppress_errors</return> (solo windows): suprime errores
                           generados por esta función cuando es establece en <info>true</info> <return>bypass_shell</return> (solo
                           windows): Desvia en la consola de <return>cmd.exe</return> cuando se establece en <info>true</info>

<comment>Return:</comment>
  <info>resource</info>  Devuelve un recurso representando el proceso, cuando se haya terminado con él, deberá
            ser liberado usando<strong>proc_close()</strong>. En caso de error devuelve <info>false</info>.

<comment>See Also:</comment>
   * <strong>popen()</strong>
   * <strong>exec()</strong>
   * <strong>system()</strong>
   * <strong>passthru()</strong>
   * <strong>stream_select()</strong>
   * The backtick operator


id: proc_terminate
type: function
doc:
<comment>Description:</comment>
  Mata un proceso abierto mediante proc_open
  
  Señala un <strong>$process</strong> (creado usando <strong>proc_open()</strong>) que debe terminar. <strong>proc_terminate()</strong> regresa
  inmediatamente y espera a la terminación del proceso.
  
  <strong>proc_terminate()</strong> 
  Permite terminar el proceso y continuar con otras tareas. Puede consultar el estado del proceso
  (para ver si se ha detenido) usando la función <strong>proc_get_status()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  El <info>recurso</info> de <strong>proc_open()</strong> que será cerrado.
  <info>int</info>       <strong>$signal</strong>   Este parámetro opcional solo es útil en sistemas operativos POSIX; puede
                      especificar una señal para enviar al proceso utilizando la llamada al sistema
                      <return>kill(2)</return>. Por defecto es <return>SIGTERM</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve el estado de terminación del proceso que se ejecutó.

<comment>See Also:</comment>
   * <strong>proc_open()</strong>
   * <strong>proc_close()</strong>
   * <strong>proc_get_status()</strong>


id: property_exists
type: function
doc:
<comment>Description:</comment>
  Comprueba si el objeto o la clase tienen una propiedad
    
  
  Esta función comprueba si la propiedad dada por <strong>$property</strong> existe en la clase especificada.
  
  A diferencia de <strong>isset()</strong>, <strong>property_exists()</strong> devuelve <info>true</info> incluso si la propiedad tiene el valor
  <info>null</info>.

<comment>Param:</comment>
  <info>mixed</info>   <strong>$class</strong>     El nombre de la clase o un objeto de la clase a comprobar
  <info>string</info>  <strong>$property</strong>  El nombre de la propiedad

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la propiedad existe, <info>false</info> si no existe, o <info>null</info> en caso de error.

<comment>See Also:</comment>
   * <strong>method_exists()</strong>


id: ps_add_bookmark
type: function
doc:
<comment>Description:</comment>
  Añadir un marcapáginas a la página actual
  
  Añade un marcapáginas a la página actual. Los marcapáginas normalmente aparecen en los
  visualizadores de PDF a la izquierda de la página como un árbol jerárquico. Al hacer clic en un
  marcapáginas saltará a la página en cuestión.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>    El texto usado para mostrar el marcapáginas.
  <info>int</info>       <strong>$parent</strong>  Un marcapáginas previamente creado por esta función que se usa como padre del
                     nuevo marcapáginas.
  <info>int</info>       <strong>$open</strong>    Si <strong>$open</strong> es distinto de cero, el visualizador de PDF mostrará el marcapáginas
                     abierto.

<comment>Return:</comment>
  <info>int</info>  El valor devuelto es una referencia al marcapáginas. Sólo se utiliza si el marcapáginas se
       usa como padre. El valor es mayor que cero si la función tiene éxito. En caso de error se
       devolverá cero.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_launchlink
type: function
doc:
<comment>Description:</comment>
  Añadir un vínculo que lance un fichero
  
  Coloca un hipervínculo, en la posición dada, que apunta a un fichero de un programa, el cual se
  iniciará al hacer clic sobre él. La posición origen del hipervículo es un rectángulo que tiene su
  esquina inferior izquierda en (llx, lly) y su esquina superior derecha en (urx, ury). El
  rectángulo tiene por defecto un borde fino azul.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$llx</strong>       La coordenada x de la esquina inferior izquierda.
  <info>float</info>     <strong>$lly</strong>       La coordenada y de la esquina inferior izquierda.
  <info>float</info>     <strong>$urx</strong>       La coordenada x de la esquina superior derecha.
  <info>float</info>     <strong>$ury</strong>       La coordenada y de la esquina superior derecha.
  <info>string</info>    <strong>$filename</strong>  La ruta del programa a iniciar cuando se haga clic sobre el vínculo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_locallink
type: function
doc:
<comment>Description:</comment>
  Añadir un vínculo hacia una página del mismo documento
  
  Coloca un hipervínculo, en la posición dada, que apunta a una página del mismo documento. Al hacer
  clic sobre el vínculo se irá a la página en cuestión. La primera página de un documento tiene el
  número 1.
  
  La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en
  (<strong>$llx</strong>, <strong>$lly</strong>) y su esquina superior derecha en (<strong>$urx</strong>, <strong>$ury</strong>). El rectángulo tiene por defecto un
  borde fino azul.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$llx</strong>    La coordenada x de la esquina inferior izquierda.
  <info>float</info>     <strong>$lly</strong>    La coordenada y de la esquina inferior izquierda.
  <info>float</info>     <strong>$urx</strong>    La coordenada x de la esquina superior derecha.
  <info>float</info>     <strong>$ury</strong>    La coordenada y de la esquina superior derecha.
  <info>int</info>       <strong>$page</strong>   El número de la página mostrada al hacer clic en el vínculo.
  <info>string</info>    <strong>$dest</strong>   El parámetro <strong>$dest</strong> determina cómo visualizar el documento. Puede ser <return>fitpage</return>,
                    <return>fitwidth</return>, <return>fitheight</return>, o <return>fitbbox</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_note
type: function
doc:
<comment>Description:</comment>
  Añadir una nota a la página actual
  
  Añade una nota en una cierta posición del página. Las notas son como pequeñas hojas rectangulares
  con texto dentro que pueden ser colocadas en cualquer lugar de una página. Se muestran tanto
  plegadas como desplegadas. Si están desplegadas se utiliza el icono especificado como marcador de
  posición.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$llx</strong>       La coordenada x de la esquina inferior izquierda.
  <info>float</info>     <strong>$lly</strong>       La coordenada y de la esquina inferior izquierda.
  <info>float</info>     <strong>$urx</strong>       La coordenada x de la esquina superior derecha.
  <info>float</info>     <strong>$ury</strong>       La coordenada y de la esquina superior derecha.
  <info>string</info>    <strong>$contents</strong>  El texto de la nota.
  <info>string</info>    <strong>$title</strong>     El título de la nota a mostrar en la cabecera de la nota.
  <info>string</info>    <strong>$icon</strong>      El icono mostrado si la nota está plegada. Este parámetro puede ser
                       establecido a <return>comment</return>, <return>insert</return>, <return>note</return>, <return>paragraph</return>, <return>newparagraph</return>, <return>key</return>, o <return>help</return>.
  <info>int</info>       <strong>$open</strong>      Si <strong>$open</strong> es distinto de cero, la nota se mostrará desplegada después de abrir
                       el documento con un visualizador de pdf.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_pdflink
type: function
doc:
<comment>Description:</comment>
  Añadir un vínculo hacia una página de un segundo documento PDF
  
  Coloca un hipervínculo, en la posición dada, que apunta a un segundo documento pdf. Al hacer clic
  sobre el vínculo se irá a la página dada del segundo documento. La primera página de un documento
  tiene el número 1.
  
  La posición origen del hipervículo es un rectángulo que tiene su esquina inferior izquierda en
  (<strong>$llx</strong>, <strong>$lly</strong>) y su esquina superior derecha en (<strong>$urx</strong>, <strong>$ury</strong>). El rectángulo tiene por defecto un
  borde fino azul.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$llx</strong>       La coordenada x de la esquina inferior izquierda.
  <info>float</info>     <strong>$lly</strong>       La coordenada y de la esquina inferior izquierda.
  <info>float</info>     <strong>$urx</strong>       La coordenada x de la esquina superior derecha.
  <info>float</info>     <strong>$ury</strong>       La coordenada y de la esquina superior derecha.
  <info>string</info>    <strong>$filename</strong>  El nombre del documento pdf a abrir cuando se haga clic en este vínculo.
  <info>int</info>       <strong>$page</strong>      El número de página del documento pdf destino
  <info>string</info>    <strong>$dest</strong>      El parámetro <strong>$dest</strong> determina cómo visualizar el documento. Puede ser <return>fitpage</return>,
                       <return>fitwidth</return>, <return>fitheight</return>, o <return>fitbbox</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_weblink
type: function
doc:
<comment>Description:</comment>
  Añadir un vínculo hacia una ubicación web
  
  Coloca un hipervínculo, en la posición dada, que apunta a una página web. La posición origen del
  hipervículo es un rectángulo que tiene su esquina inferior izquierda en (<strong>$llx</strong>, <strong>$lly</strong>) y su esquina
  superior derecha en (<strong>$urx</strong>, <strong>$ury</strong>). El rectángulo tiene por defecto un borde fino azul.
  
  La nota no será visible si el documento
  se imprime o visualiza, pero se mostrará si es convertido a
  PDF ya sea con Acrobat Distiller™ o Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$llx</strong>    La coordenada x de la esquina inferior izquierda.
  <info>float</info>     <strong>$lly</strong>    La coordenada y de la esquina inferior izquierda.
  <info>float</info>     <strong>$urx</strong>    La coordenada x de la esquina superior derecha.
  <info>float</info>     <strong>$ury</strong>    La coordenada y de la esquina superior derecha.
  <info>string</info>    <strong>$url</strong>    El URL del hipervínculo a abrir cuando se haga clic en este vínculo, p.ej.
                    <return>http://www.php.net</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_pdflink()</strong>


id: ps_arc
type: function
doc:
<comment>Description:</comment>
  Dibujar un arco en el sentido contrario a las agujas del reloj
  
  Dibuja una porción de un círculo con su punto medio en (<strong>$x</strong>, <strong>$y</strong>). El arco comienza en un ángulo
  dado por <strong>$alpha</strong> y termina en un ángulo dado por <strong>$beta</strong>. Se dibuja en el sentido contrario al de las
  agujas del reloj (use la función <strong>ps_arcn()</strong> para dibujarlo en el sentido de las agujas del reloj).
  El trazado añadido al trazado actual comienza en el arco con el ángulo <strong>$alpha</strong> y termina en el arco
  con el ángulo <strong>$beta</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>       La coordenada x del punto medio del círculo.
  <info>float</info>     <strong>$y</strong>       La coordenada y del punto medio del círculo.
  <info>float</info>     <strong>$radius</strong>  El radio del círculo
  <info>float</info>     <strong>$alpha</strong>   El ángulo de inicio dado en grados.
  <info>float</info>     <strong>$beta</strong>    El ángulo final dado en grados.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_arcn()</strong>


id: ps_arcn
type: function
doc:
<comment>Description:</comment>
  Dibujar un arco en el sentido de las agujas del reloj
  
  Dibuja una porción de un círculo con su punto medio en (<strong>$x</strong>, <strong>$y</strong>). El arco comienza en un ángulo
  dado por <strong>$alpha</strong> y termina en un ángulo dado por <strong>$beta</strong>. Se dibuja en el sentido de las agujas del
  reloj (use la función <strong>ps_arc()</strong> para dibujarlo en sentido contrario al de las agujas del reloj). El
  trazado añadido al trazado actual comienza en el arco con el ángulo <strong>$beta</strong> y termina en el arco con
  el ángulo <strong>$alpha</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>       La coordenada x del punto medio del círculo.
  <info>float</info>     <strong>$y</strong>       La coordenada y del punto medio del círculo.
  <info>float</info>     <strong>$radius</strong>  El radio del círculo
  <info>float</info>     <strong>$alpha</strong>   El ángulo de inicio dado en grados.
  <info>float</info>     <strong>$beta</strong>    El ángulo final dado en grados.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_arc()</strong>


id: ps_begin_page
type: function
doc:
<comment>Description:</comment>
  Empezar una nueva página
  
  Empiza una nueva página. Aunque los parámetros <strong>$width</strong> y <strong>$height</strong> implican un tamaño de página
  diferente para cada página, esto no es posible en PostScript. La primera llamada a la función
  <strong>ps_begin_page()</strong> establecerá el tamaño de página para el documento entero. Las llamadas
  consecutivas no tendrán efecto, excepto para crear una nueva página. La situación es diferente si
  se intenta convertir el documento PostScript a PDF. Esta función coloca marcas pdf dentro del
  documento, con lo que se puede establecer el tamaño de cada página individualmente. El documento
  PDF resultante tendrá diferentes tamaños de página.
  
  Aunque PostScript no conoce diferentes tamaños de página, pslib coloca una caja circundante para
  cada página dentro del documento. Este tamaño es evaluado por algunos visualizadores de PostScript
  y tendrá precedencia sobre el campo BoundingBox de la cabecera (Header) del documento. Esto puede
  llevar a resultados inesperados cuando se establece BoundingBox con su esquina inferior izquierda
  diferente de (0, 0), ya que la caja circundante de la página siempre tendrá una esquina inferior
  izquierda (0, 0) y sobrescribirá la configuración global.
  
  Cada página está encapsulada en la forma guardar/restaurar. Esto significa que la mayoría de los
  ajustes hechos en una página no se conservarán para la siguiente página.
  
  Si hasta la primera llamada a la función <strong>ps_begin_page()</strong> no existen llamadas a la función
  <strong>ps_findfont()</strong>, la cabecera del documento PostScript se imprimirá y la caja circundante será
  establecida al tamaño de la primera página. La esquina inferior izquierda de la caja circundante
  se establecerá a (0, 0). Si si llamó antes a la función <strong>ps_findfont()</strong>, la cabecera ya ha sido
  impresa, y el documento no tendrá una caja circundante válida. Para prevenir esto, se debería
  llamar a la función <strong>ps_set_info()</strong> para establecer el campo de información <return>BoundingBox</return> y
  posiblemente <return>Orientation</return> antes de cualquier llamada a las funciones <strong>ps_findfont()</strong> o
  <strong>ps_begin_page()</strong>.
  
  Hasta la versión 0.2.6 de pslib, esta función siempre sobrescribía los campos BoundingBox y
  Orientation si antes habían sido establecidos con la función <strong>ps_set_info()</strong> y no se había llamado
  antes a la función <strong>ps_findfont()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$width</strong>   El ancho de la página en píxeles, p.ej. 596 para el formato A4
  <info>float</info>     <strong>$height</strong>  El alto de la página en píxeles, p.ej. 842 para el formato A4

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_end_page()</strong>
   * <strong>ps_findfont()</strong>
   * <strong>ps_set_info()</strong>


id: ps_begin_pattern
type: function
doc:
<comment>Description:</comment>
  Iniciar un nuevo patrón
  
  Inicia un nuevo patrón. Un patrón es como una página que contiene, por ejemplo, un dibujo que
  puede ser utilizado par rellenar áreas. Se usa como un color llamando a la función <strong>ps_setcolor()</strong> y
  estableciendo el espacio de color a <return>pattern</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>      El identificador de recursos del fichero postscript, como el devuelto por la
                        función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$width</strong>      El ancho del patrón en píxeles.
  <info>float</info>     <strong>$height</strong>     El alto del patrón en píxeles.
  <info></info>          <strong>$x-step</strong>     La distancia en píxeles de la ubicación del patrón en dirección horizontal.
  <info></info>          <strong>$y-step</strong>     La distancia en píxeles de la ubicación del patrón en dirección vertical.
  <info>int</info>       <strong>$painttype</strong>  Debe ser 1 ó 2.

<comment>Return:</comment>
  <info>int</info>  El identificador del patrón  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_end_pattern()</strong>
   * <strong>ps_setcolor()</strong>
   * <strong>ps_shading_pattern()</strong>


id: ps_begin_template
type: function
doc:
<comment>Description:</comment>
  Iniciar una nueva plantilla
  
  Inicia una nueva plantilla. A una plantilla se le conoce como forma en el lenguaje postscript. Se
  crea de forma similar a un patrón pero se utiliza como una imagen. Las plantilla a menudo se usan
  para dibujar algo que se coloca varias veces a lo largo de un documento, p.ej. el logotipo de una
  compañía. Se puede usar todas las funciones de dibujo dentro de una plantilla. La plantilla no
  será dibujada hasta que sea colocada medianta la función <strong>ps_place_image()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$width</strong>   El ancho de la plantilla en píxeles.
  <info>float</info>     <strong>$height</strong>  El alto de la plantilla en píxeles.

<comment>Return:</comment>
  <info>int</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_end_template()</strong>


id: ps_circle
type: function
doc:
<comment>Description:</comment>
  Dibujar un círculo
  
  Dibuja un círculo con su punto medio en (<strong>$x</strong>, <strong>$y</strong>). El círculo comienza y termina en la posición
  (<strong>$x</strong>+<strong>$radius</strong>, <strong>$y</strong>). Si esta función es llamada fuera de un trazado  se iniciará un nuevo trazado. Si
  es llamada dentro de un trazado añadirá el círculo como un subtrazado. Si la última operación de
  dibujo no finaliza en el punto (<strong>$x</strong>+<strong>$radius</strong>, <strong>$y</strong>) habrá un hueco en el trazado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>       La coordenada x del punto medio del círculo.
  <info>float</info>     <strong>$y</strong>       La coordenada y del punto medio del círculo.
  <info>float</info>     <strong>$radius</strong>  El radio del círculo

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_arc()</strong>
   * <strong>ps_arcn()</strong>


id: ps_clip
type: function
doc:
<comment>Description:</comment>
  Realizar un recorte utilizando el trazado actual
  
  Toma el trazado actual y lo usa para definir el borde de un área de recorte. Todo lo dibujado
  fuera de ese área no será visible.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_closepath()</strong>


id: ps_close
type: function
doc:
<comment>Description:</comment>
  Cerrar un documento PostScript
  
  Cierra el documento PostScript.
  
  Esta función escribe el tráiler del documento PostScript. También escribe el árbol de
  marcapáginas. <strong>ps_close()</strong> no libera ningún recurso, lo que se realiza mediante la función
  <strong>ps_delete()</strong>.
  
  Esta función también es llamda por la función <strong>ps_delete()</strong> si no ha sido llamada antes.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_open_file()</strong>
   * <strong>ps_delete()</strong>


id: ps_close_image
type: function
doc:
<comment>Description:</comment>
  Cerrar una imagen y liberar memoria
  
  Cierra una imagen y libera sus recursos. Una vez que una imagen ha sido cerrada ya no puede usarse
  más.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>    El identificador de recursos del fichero postscript, como el devuelto por la
                      función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$imageid</strong>  El identificador de recursos de la imagen, como el devuelto por las funciones
                      <strong>ps_open_image()</strong> o <strong>ps_open_image_file()</strong>.

<comment>Return:</comment>
  <info>void</info>  Devuelve <info>null</info> en caso de éxito,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_open_image()</strong>
   * <strong>ps_open_image_file()</strong>


id: ps_closepath
type: function
doc:
<comment>Description:</comment>
  Cerrar un trazado
  
  Conecta el último punto con el primer punto de un trazado. El trazado resultante puede usarse para
  contornear, rellenar, recortar, etc...

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_clip()</strong>
   * <strong>ps_closepath_stroke()</strong>


id: ps_closepath_stroke
type: function
doc:
<comment>Description:</comment>
  Cerrar y contornear un trazado
  
  Conecta el último punto con el primer punto de un trazado y dibuja la línea cerrada resultante.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_closepath()</strong>


id: ps_continue_text
type: function
doc:
<comment>Description:</comment>
  Continuar el texto en la siguiente línea
  
  Imprime un texto una línea por debajo de la última línea. La interlínea se toma del valor
  "leading", el cual debe establecerse con la función <strong>ps_set_value()</strong>. La posición actual del texto
  se determina por los valores "textx" y "texty", los cuales pueden solicitarse con la función
  <strong>ps_get_value()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>   El texto a imprimir.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_show()</strong>
   * <strong>ps_show_xy()</strong>
   * <strong>ps_show_boxed()</strong>


id: ps_curveto
type: function
doc:
<comment>Description:</comment>
  Dibujar una curva
  
  Añade una sección de una curva cúbica de Bézier al trazado actual descrita por los tres puntos de
  control dados.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x1</strong>     La coordenada x del primer punto de control.
  <info>float</info>     <strong>$y1</strong>     La coordenada y del primer punto de control.
  <info>float</info>     <strong>$x2</strong>     La coordenada x del segundo punto de control.
  <info>float</info>     <strong>$y2</strong>     La coordenada y del segundo punto de control.
  <info>float</info>     <strong>$x3</strong>     La coordenada x del tercer punto de control.
  <info>float</info>     <strong>$y3</strong>     La coordenada y del tercer punto de control.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_lineto()</strong>


id: ps_delete
type: function
doc:
<comment>Description:</comment>
  Borrar todos los recursos de un documento PostScript
  
  Principalmente libera la memoria usada por el documento. También cierra un fichero, si no fue
  cerrado antes con la función <strong>ps_close()</strong>. En cualquier caso, antes se debería cerrar el fichero con
  la función <strong>ps_close()</strong>, ya que <strong>ps_close()</strong> no sólo cierra el fichero, sino que también imprime un
  tráiler que contiene comentarios de PostScript, como el número de páginas del documento, y añade
  la jerarquía de marcapáginas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_close()</strong>


id: ps_end_page
type: function
doc:
<comment>Description:</comment>
  Finalizar una página
  
  Finaliza un página que ha sido empezada con la función <strong>ps_begin_page()</strong>. Al finalizar una página se
  abandonará el contexto de dibujo actual, lo que, por ejemplo, requiere recargar la fuentes si
  fueron cargadas dentro de la página, y establecer muchos otros parámetros como el ancho de línea,
  color...

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_begin_page()</strong>


id: ps_end_pattern
type: function
doc:
<comment>Description:</comment>
  Finalizar un patrón
  
  Finaliza un patrón que fue creado con la función <strong>ps_begin_pattern()</strong>. Una vez que el patrón ha sido
  finalizado se puede usar como un color para rellenar áreas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_begin_pattern()</strong>


id: ps_end_template
type: function
doc:
<comment>Description:</comment>
  Finalizar una plantilla
  
  Finaliza una plantilla que fue creada con la función <strong>ps_begin_template()</strong>. Una vez que la plantilla
  ha sido finalizada se puede usar como una imagen.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_begin_template()</strong>


id: ps_fill
type: function
doc:
<comment>Description:</comment>
  Rellenar el trazado actual
  
  Rellena el trazaco construido previamente con llamdas a las funciones de dibujo, como <strong>ps_lineto()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_fill_stroke()</strong>
   * <strong>ps_stroke()</strong>


id: ps_fill_stroke
type: function
doc:
<comment>Description:</comment>
  Rellenar y contornear el trazado actual
  
  Rellena y dibuja el trazado construido previamente con llamadas a funciones de dibujo, como
  <strong>ps_lineto()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_fill()</strong>
   * <strong>ps_stroke()</strong>


id: ps_findfont
type: function
doc:
<comment>Description:</comment>
  Cargar una fuente
  
  Carga una fuente para su uso posterior. Antes de que un texto se imprima con una fuente cargada,
  ésta debe establecerse con a la función <strong>ps_setfont()</strong>. Esta función necesita el fichero de métrica
  de fuentes de Adobe para poder calcular el espacio utilizado por los caracteres. Una fuente que
  sea cargada dentro de una página solamente estára disponible en esta página. Las fuentes que van a
  ser usadas en el documento completo tienen que ser cargadas antes de llamar por primera vez a la
  función <strong>ps_begin_page()</strong>. Llamar a la función <strong>ps_findfont()</strong> entre páginas hará que esa fuente esté
  disponible para todas las páginas siguientes.
  
  El nombre del fichero afm debe ser <strong>$nombre_de_fuente</strong><return>.afm</return>. Si la fuente estará embebida, el fichero
  <strong>$nombre_de_fuente</strong><return>.pfb</return> que contiene el esquema de la fuente también debe estar presente.
  
  Llamar a la función <strong>ps_findfont()</strong> antes de la primera página requiere imprimir la cabecera
  postscript que incluya el campo BoundingBox para el documento entero. Normalmente BoundingBox se
  establece con la primera llamada a la fucnión <strong>ps_begin_page()</strong>, que ahora va después de la función
  <strong>ps_findfont()</strong>. Por lo tanto, BoundingBox no se ha establecido y se emitirá una advertencia al
  llamar a la función <strong>ps_findfont()</strong>. Para prevenir esta situación, se debería llamar a la función
  <strong>ps_set_parameter()</strong> para establecer BoundingBox antes de llamar a la función <strong>ps_findfont()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$fontname</strong>  El nombre de la fuente.
  <info>string</info>    <strong>$encoding</strong>  <strong>ps_findfont()</strong> intentará cargar el fichero pasado al parámetro <strong>$encoding</strong>. Los
                       archivos codificados tienen la misma sintaxis que los utilizados por
                       dvips(1). Contienen un vector de codificación de fuente (que actualmente no
                       se usa pero debe estar presente) y una lista de ligaduras extra para
                       prolongar la lista de ligaduras derivada del fichero afm.
                       
                       <strong>$encoding</strong> puede ser <info>null</info> o la cadena vacía si se usará la codificación
                       predeterminada (TeXBase1).
                       
                       Si la codificación se establece a <return>builtin</return> no habrá recodificación y se usará
                       la codificación específica de la fuente. Esto es muy útil con fuentes de
                       símbolos.
  <info>bool</info>      <strong>$embed</strong>     Si se establece a un valor &gt;0 la fuente será embebida en el documento.
                       Esto requiere que el esquema de la fuente (fichero .pfb) esté presente.

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador de la fuente, o cero en caso de error. El identificador es un
       número positivo.

<comment>See Also:</comment>
   * <strong>ps_begin_page()</strong>
   * <strong>ps_setfont()</strong>


id: ps_get_buffer
type: function
doc:
<comment>Description:</comment>
  Obtener el buffer completo que contiene la información generada de PS
  
  Esta función aún no está implementada. Siempre devolverá una cadena vacía. La idea para una
  implementación posterior es escribir el contenido del fichero postscript en un buffer interno si
  se solicita la creación en memoria, y recuperar el contenifo del buffer con esta función.
  Actualmente, los documentos creados en memoria son enviados al visualizador sin la participación
  de un buffer.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>string</info>  

<comment>See Also:</comment>
   * <strong>ps_open_file()</strong>


id: ps_get_parameter
type: function
doc:
<comment>Description:</comment>
  Obtener ciertos parámetros
  
  Obtiene varios parámetros que se establecieron directamente con la función <strong>ps_set_parameter()</strong> o
  indirectamente por alguna de las otras funciones. Los parámetros son por definición valores de
  tipo string. Esta función no se puede usar para recuperar recursos que también fueron establecidos
  con la función <strong>ps_set_parameter()</strong>.
  
  El parámetro <strong>$name</strong> puede tener los siguientes valores:
  
  <return>fontname</return> El nombre de la fuente activa o la fuente cuyo identificador es pasado al parámetro
  <strong>$modifier</strong>. <return>fontencoding</return> La codificación de la fuente activa. <return>dottedversion</return> La versión de la
  biblioteca pslib subyacente con el formato \<mayor&gt;.\<menor&gt;.\<submenor&gt; <return>scope</return> El ámbito de dibujo actual. Puede ser un objeto, un documento, null, una página, un patrón, un trazado, una plantilla, un prólogo, una fuente, un glifo. <return>ligaturedisolvechar</return> El carácter que disuelve una ligadura. Si se está utilizando una fuente que contiene la ligadura 'ff' y '|' es el carácter para disolver la ligadura, 'f|f' resultará en dos 'f' en lugar de la ligadura 'ff'. <return>imageencoding</return> La codificación utilizada para codificar imágenes. Puede ser <return>hex</return> o <return>85</return>. La codificación hex usa dos bytes en el fichero postscript por cada byte de la imagen. 85 representa la codificación Ascii85. <return>linenumbermode</return> Establecer a <return>paragraph</return> si las líneas están numeradas dentro de un párrafo, o <return>box</return> si están numeradas dentro de una caja circundante. <return>linebreak</return> Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> un retorno de carro añadirá un salto de línea. <return>parbreak</return> Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> un retorno de carro iniciará un nuevo párrafo. <return>hyphenation</return> Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> el párrafo será dividido mediante guiones si está establecido y existe un diccionario de partición silábica. <return>hyphendict</return> Nombre de fichero del diccionario usado como patrón de partición silábica.
  
  El nombre de la fuente activa o la fuente cuyo identificador es pasado al parámetro <strong>$modifier</strong>.
  
  La codificación de la fuente activa.
  
  La versión de la biblioteca pslib subyacente con el formato \<mayor&gt;.\<menor&gt;.\<submenor&gt;
  
  El ámbito de dibujo actual. Puede ser un objeto, un documento, null, una página, un patrón, un
  trazado, una plantilla, un prólogo, una fuente, un glifo.
  
  El carácter que disuelve una ligadura. Si se está utilizando una fuente que contiene la ligadura
  'ff' y '|' es el carácter para disolver la ligadura, 'f|f' resultará en dos 'f' en lugar de la
  ligadura 'ff'.
  
  La codificación utilizada para codificar imágenes. Puede ser <return>hex</return> o <return>85</return>. La codificación hex usa dos
  bytes en el fichero postscript por cada byte de la imagen. 85 representa la codificación Ascii85.
  
  Establecer a <return>paragraph</return> si las líneas están numeradas dentro de un párrafo, o <return>box</return> si están
  numeradas dentro de una caja circundante.
  
  Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> un
  retorno de carro añadirá un salto de línea.
  
  Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> un
  retorno de carro iniciará un nuevo párrafo.
  
  Se usa solamente si el texto se imprime con la función <strong>ps_show_boxed()</strong>. Si se establece a <info>true</info> el
  párrafo será dividido mediante guiones si está establecido y existe un diccionario de partición
  silábica.
  
  Nombre de fichero del diccionario usado como patrón de partición silábica.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$name</strong>      El nombre del parámetro.
  <info>float</info>     <strong>$modifier</strong>  Un identificador necesario si se solicita un parámetro de un recurso, p.ej.
                       el tamaño de una imagen. En tal caso se pasa el ID del recurso.

<comment>Return:</comment>
  <info>string</info>  Devuelve el valor del parámetro  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_set_parameter()</strong>


id: ps_get_value
type: function
doc:
<comment>Description:</comment>
  Obtener ciertos valores
  
  Obtiene varios valores que se establecieron con la función <strong>ps_set_value()</strong>. Los valores son por
  definición valores de tipo float.
  
  El parámetro <strong>$name</strong> puede tener los siguientes valores:
  
  <return>fontsize</return> El tamaño de la fuente activa o la fuente cuyo identificador es pasado al parámetro
  <strong>$modifier</strong>. <return>font</return> La fuente activa misma. <return>imagewidth</return> El ancho de la imagen cuyo ID es pasado al
  parámetro <strong>$modifier</strong>. <return>imageheight</return> El alto de la imagen cuyo ID es pasado al parámetro <strong>$modifier</strong>.
  <return>capheight</return> El alto de una M mayúscula de la fuente activa o la fuente cuyo identificador es pasado
  al parámetro <strong>$modifier</strong>. <return>ascender</return> El ascendente de la fuente activa o la fuente cuyo identificador
  es pasado al parámetro <strong>$modifier</strong>. <return>descender</return> El descendente de la fuente activa o la fuente cuyo
  identificador es pasado al parámetro <strong>$modifier</strong>. <return>italicangle</return> El ángulo de la letra itálica de la
  fuente activa o la fuente cuyo identificador es pasado al parámetro <strong>$modifier</strong>. <return>underlineposition</return>
  La posición del subrayado de la fuente activa o la fuente cuyo identificador es pasado al
  parámetro <strong>$modifier</strong>. <return>underlinethickness</return> El grosor del subrayado de la fuente activa o la fuente
  cuyo identificador es pasado al parámetro <strong>$modifier</strong>. <return>textx</return> La coordenada x para la impresión del
  texto. <return>texty</return> La coordenada y para la impresión del texto. <return>textrendering</return> El modo actual de
  renderización de texto. <return>textrise</return> El espacio por el que el texto es alzado por encima de la línea
  base. <return>leading</return> La distancia entre líneas de texto en puntos. <return>wordspacing</return> El espacio entre palabras
  como un múltiplo del ancho de un carácter espacio. <return>charspacing</return> El espacio entre caracteres. Si
  "charspacing" es != 0.0, las liagaduras siempre serán disueltas. <return>hyphenminchars</return> El número mínimo
  de caracteres divididos mediante guión al final de una palabra. <return>parindent</return> El sangrado de las
  primeras n líneas de un párrafo. <return>numindentlines</return> El número de línea a sangrar de un párrafo si
  "parindent" != 0.0. <return>parskip</return> La distancia entre párrafos. <return>linenumberspace</return> El espacio total delante
  de cada línea para el número de línea. <return>linenumbersep</return> El espacio entre la línea y el número de
  línea. <return>major</return> El número de la versión mayor de pslib. <return>minor</return> El número de la versión menor pslib.
  <return>subminor</return>, <return>revision</return> El número de la versión submenor de pslib.
  
  El tamaño de la fuente activa o la fuente cuyo identificador es pasado al parámetro <strong>$modifier</strong>.
  
  La fuente activa misma.
  
  El ancho de la imagen cuyo ID es pasado al parámetro <strong>$modifier</strong>.
  
  El alto de la imagen cuyo ID es pasado al parámetro <strong>$modifier</strong>.
  
  El alto de una M mayúscula de la fuente activa o la fuente cuyo identificador es pasado al
  parámetro <strong>$modifier</strong>.
  
  El ascendente de la fuente activa o la fuente cuyo identificador es pasado al parámetro <strong>$modifier</strong>.
  
  El descendente de la fuente activa o la fuente cuyo identificador es pasado al parámetro
  <strong>$modifier</strong>.
  
  El ángulo de la letra itálica de la fuente activa o la fuente cuyo identificador es pasado al
  parámetro <strong>$modifier</strong>.
  
  La posición del subrayado de la fuente activa o la fuente cuyo identificador es pasado al
  parámetro <strong>$modifier</strong>.
  
  El grosor del subrayado de la fuente activa o la fuente cuyo identificador es pasado al parámetro
  <strong>$modifier</strong>.
  
  La coordenada x para la impresión del texto.
  
  La coordenada y para la impresión del texto.
  
  El modo actual de renderización de texto.
  
  El espacio por el que el texto es alzado por encima de la línea base.
  
  La distancia entre líneas de texto en puntos.
  
  El espacio entre palabras como un múltiplo del ancho de un carácter espacio.
  
  El espacio entre caracteres. Si "charspacing" es != 0.0, las liagaduras siempre serán disueltas.
  
  El número mínimo de caracteres divididos mediante guión al final de una palabra.
  
  El sangrado de las primeras n líneas de un párrafo.
  
  El número de línea a sangrar de un párrafo si "parindent" != 0.0.
  
  La distancia entre párrafos.
  
  El espacio total delante de cada línea para el número de línea.
  
  El espacio entre la línea y el número de línea.
  
  El número de la versión mayor de pslib.
  
  El número de la versión menor pslib.
  
  El número de la versión submenor de pslib.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$name</strong>      El nombre del valor.
  <info>float</info>     <strong>$modifier</strong>  El parámetro <strong>$modifier</strong> especifica el recurso por el que recuperar el valor.
                       Puede ser el ID de una fuente o imagen.

<comment>Return:</comment>
  <info>float</info>  Devuelve el valor del parámetros o <info>false</info>.

<comment>See Also:</comment>
   * <strong>ps_set_value()</strong>


id: ps_hyphenate
type: function
doc:
<comment>Description:</comment>
  Particionar silábicamente una palabra
  
  Particiona silábicamente la palabra proporcionada. <strong>ps_hyphenate()</strong> evalúa el valor "hyphenminchars"
  (establecido mediante la función <strong>ps_set_value()</strong>) y el parámetro "hyphendict" (establecido mediante
  la función <strong>ps_set_parameter()</strong>). "hyphendict" debe establecerse antes de llamar a esta función.
  
  Esta función requiere que la categoría de configuración regional LC_CTYPE sea establecida
  correctamente. Esto se realiza cuando la extensión se inicializa utilizando las variables de
  entorno. Lea el manual de 'locale' de sistemas Unix para más información.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>   <strong>$text</strong> no debería contener ningún carácter que no sea una letra. Las posiciones
                    posibles para las divisiones son devueltas en un array de números enteros. Cada
                    número es la posición del carácter de <strong>$text</strong> después del cual puede tomar lugar
                    una partición silábica.

<comment>Return:</comment>
  <info>array</info>  Un array de enteros indicando la posición de posibles divisiones del texto  o <info>false</info> en caso
         de error.

<comment>See Also:</comment>
   * <strong>ps_show_boxed()</strong>
   * locale(1)


id: ps_include_file
type: function
doc:
<comment>Description:</comment>
  Leer un fichero externo con código PostScript sin tratar
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$file</strong>   

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_lineto
type: function
doc:
<comment>Description:</comment>
  Dibujar una línea
  
  Añade una línea recta al trazado actual desde el punto actual hasta las coordenadas dadas. Use la
  función <strong>ps_moveto()</strong> para establecer el punto de inicio de la línea.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>      La coordenada x del punto final de la línea.
  <info>float</info>     <strong>$y</strong>      La coordenada y del punto final de la línea.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_moveto()</strong>


id: ps_makespotcolor
type: function
doc:
<comment>Description:</comment>
  Crear un color directo
  
  Crea un color directo desde el color de relleno actual. El color de relleno debe ser definido en
  los espacios de color RGB, CMYK o gris. El nombre del color directo puede ser un nombre
  arbitrario. Un color directo se puece establecer como cualquier otro color con la función
  <strong>ps_setcolor()</strong>. Cuando el documento no se imprime, sino que se muestra con un visualizador de
  postscript, se utiliza el color dado en el espacio de color especificado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$name</strong>   El nombre del color directo, p.ej. Pantone 5565.

<comment>Return:</comment>
  <info>int</info>  El ID del nuevo color directo o 0 en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setcolor()</strong>


id: ps_moveto
type: function
doc:
<comment>Description:</comment>
  Establecer el punto actual
  
  Establece el punto actual a unas coordenadas nuevas. Si esta es la primera llamada a la función
  <strong>ps_moveto()</strong> después de haber finalizado un trazado previo, se iniciará un nuevo trazado. Si esta
  función es llamada en mitad de un trazado establecerá el punto actual e iniciará un subtrazado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>      La coordenada x del punto al que moverse.
  <info>float</info>     <strong>$y</strong>      La coordenada y del punto al que moverse.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_lineto()</strong>


id: ps_new
type: function
doc:
<comment>Description:</comment>
  Crear un nuevo objeto de documento PostScript
  
  Crea una nueva instancia de documento. No crea el fichero en disco o en memoria, simplemente
  establece todo. <strong>ps_new()</strong> normalmente es seguido de una llamada a la función <strong>ps_open_file()</strong> para
  crear realmente el documento postscript.

<comment>Return:</comment>
  <info>resource</info>  Un recurso de un documento PostScript,  o <info>false</info> en caso de error. El valor devuelto es
            pasado a todas las demás funciones como primer argumento.

<comment>See Also:</comment>
   * <strong>ps_delete()</strong>


id: ps_open_file
type: function
doc:
<comment>Description:</comment>
  Abrir un fichero para su impresión
  
  Crea un fichero en disco y escribe el documento PostScript en él. El fichero será cerrado cuando
  se llame a la función <strong>ps_close()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>     El identificador de recursos del fichero postscript, como el devuelto por la
                       función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$filename</strong>  El nombre del fichero postscript. Si no se proporciona <strong>$filename</strong> el documento
                       será creado en memoria y todas las salidas irán directas al visualizador.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_close()</strong>


id: ps_open_image
type: function
doc:
<comment>Description:</comment>
  Leer una imagen para su colocación posterior
  
  Lee una imagen que ya está disponible en memoria. El parámetro <strong>$source</strong> actualmente no se evalua y
  se asume que es <return>memory</return>. La información de la imagen es una secuencia de píxeles que comienza en la
  esquina superior izquierda y termina en la exquina inferior derecha. Cada píxel consiste en
  componentes de color dados por <strong>$components</strong>, y cada componente tiene <strong>$bpc</strong> bits.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>       El identificador de recursos del fichero postscript, como el devuelto por
                         la función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$type</strong>        El tipo de la imagen. Los posibles valores son <return>png</return>, <return>jpeg</return>, o <return>eps</return>.
  <info>string</info>    <strong>$source</strong>      No se utiliza.
  <info>string</info>    <strong>$data</strong>        La información de la imagen.
  <info></info>          <strong>$length</strong>      La longitud de la información de la imagen.
  <info>int</info>       <strong>$width</strong>       El ancho de la imagen.
  <info>int</info>       <strong>$height</strong>      El alto de la imagen.
  <info>int</info>       <strong>$components</strong>  El número de componentes de cada píxel. Puede ser 1 (imágenes en escala de
                         grises), 3 (imágenes rgb), o 4 (imágenes cmyk, rgba).
  <info>int</info>       <strong>$bpc</strong>         Número de bits por componente (normalmente 8).
  <info>string</info>    <strong>$params</strong>      

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador de la imagen, o cero en caso de error. El identificador es un
       número positivo mayor que 0.

<comment>See Also:</comment>
   * <strong>ps_open_image_file()</strong>
   * <strong>ps_place_image()</strong>
   * <strong>ps_close_image()</strong>


id: ps_open_image_file
type: function
doc:
<comment>Description:</comment>
  Abre una imagen desde un fichero
  
  Carga una imagen para su uso posterior.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>        El identificador de recursos del fichero postscript, como el devuelto por
                          la función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$type</strong>         El tipo de la imagen. Los posibles valores son <return>png</return>, <return>jpeg</return>, o <return>eps</return>.
  <info>string</info>    <strong>$filename</strong>     El nombre del fichero que contiene la información de la imagen.
  <info>string</info>    <strong>$stringparam</strong>  No se utiliza.
  <info>int</info>       <strong>$intparam</strong>     No se utiliza.

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador de la imagen, o cero en caso de error. El identificador es un
       número positivo mayor que 0.

<comment>See Also:</comment>
   * <strong>ps_open_image()</strong>
   * <strong>ps_place_image()</strong>
   * <strong>ps_close_image()</strong>


id: ps_open_memory_image
type: function
doc:
<comment>Description:</comment>
  Tomar una imagen de GD y devolverla como una imagen para colcarla en un documento PS
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$gd</strong>     

<comment>Return:</comment>
  <info>int</info>  


id: ps_place_image
type: function
doc:
<comment>Description:</comment>
  Colocar una imágen en la página
  
  Coloca una imagen cargada anteriormente en la página. La imagen puede ser redimensionada. Si la
  imagen también debe rotarse, se ha de rotar antes el sistema de coordenadas con la función
  <strong>ps_rotate()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>    El identificador de recursos del fichero postscript, como el devuelto por la
                      función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$imageid</strong>  El identificador de recursos de la imagen, como el devuelto por las funciones
                      <strong>ps_open_image()</strong> o <strong>ps_open_image_file()</strong>.
  <info>float</info>     <strong>$x</strong>        La coordenada x de la esquina inferior izquierda de la imagen.
  <info>float</info>     <strong>$y</strong>        La coordenada y de la esquina inferior izquierda de la imagen.
  <info>float</info>     <strong>$scale</strong>    El factor de escala de la imagen. Una escala de 1.0 resultará en una
                      resolución de 72 dpi, ya que cada píxel es equivalente a 1 punto.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_open_image()</strong>
   * <strong>ps_open_image_file()</strong>


id: ps_rect
type: function
doc:
<comment>Description:</comment>
  Dibujar un rectángulo
  
  Dibuja un rectángulo con su esquina inferior izquierda en (<strong>$x</strong>, <strong>$y</strong>). El rectángulo comienza y
  finaliza en su esquina inferior izquierda. Si se llama a esta función fuera de un trazado iniciará
  un nuevo trazado. Se es llamada dentro de un trazado añadirá el rectángulo como un subtrazado. Si
  la última operación de dibujo no finaliza en la esquina inferior izquierda, existirá un hueco en
  el trazado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>       La coordenada x de la esquina inferior izquierda del rectángulo.
  <info>float</info>     <strong>$y</strong>       La coordenada y de la esquina inferior izquierda del rectángulo.
  <info>float</info>     <strong>$width</strong>   El ancho de la imagen.
  <info>float</info>     <strong>$height</strong>  El alto de la imagen.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_arc()</strong>
   * <strong>ps_cirle()</strong>
   * <strong>ps_lineto()</strong>


id: ps_restore
type: function
doc:
<comment>Description:</comment>
  Restaurar un contexto previamente guardado
  
  Restaura un conexto de gráficos previamente guardado. Cualquier llamada a la función <strong>ps_save()</strong>
  debe estar acompañada por una llamada a <strong>ps_restore()</strong>. Todas las transformaciones de coordenadas,
  ajustes de estilos de línea, ajustes de color, etc., son restauradas al estado anterior de la
  llamada a la función <strong>ps_save()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_save()</strong>


id: ps_rotate
type: function
doc:
<comment>Description:</comment>
  Establecer el factor de rotación
  
  Establece la rotación del sistema de coordenadas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$rot</strong>    El ángulo de rotación en grados.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_scale()</strong>
   * <strong>ps_translate()</strong>


id: ps_save
type: function
doc:
<comment>Description:</comment>
  Guardar el contexto actual
  
  Guarda el contexto de gráficos actual, conteniendo ajustes de color, de traslación y de rotación,
  y algunos más. Un contexto guardado puede ser restaurado con <strong>ps_restore()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_restore()</strong>


id: ps_scale
type: function
doc:
<comment>Description:</comment>
  Estalecer el factor de escala
  
  Establece el factor de escala horizontal y vertical del sistema de coordenadas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>      El factor de escala en dirección horizontal.
  <info>float</info>     <strong>$y</strong>      El factor de escala en dirección vertical.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_rotate()</strong>
   * <strong>ps_translate()</strong>


id: ps_set_border_color
type: function
doc:
<comment>Description:</comment>
  Establecer el color del borde de las anotaciones
  
  Los vínculos añadidos con una de las funciones <strong>ps_add_weblink()</strong>, <strong>ps_add_pdflink()</strong>, etc., se
  mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y
  visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript.
  Esta función establece el color de la línea del borde del rectángulo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$red</strong>    El componente rojo del color del borde.
  <info>float</info>     <strong>$green</strong>  El componente verde del color del borde.
  <info>float</info>     <strong>$blue</strong>   El componente azul del color del borde.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_set_border_dash()</strong>
   * <strong>ps_set_border_style()</strong>


id: ps_set_border_dash
type: function
doc:
<comment>Description:</comment>
  Establece la longitud de las rayas del borde de las anotaciones
  
  Los vínculos añadidos con una de las funciones <strong>ps_add_weblink()</strong>, <strong>ps_add_pdflink()</strong>, etc. se
  mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y
  visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript.
  Esta función establece la longitud de las porciones negras y blancas de una línea de borde
  discontinua.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$black</strong>  La longitud de la raya.
  <info>float</info>     <strong>$white</strong>  La longitud del hueco entre rayas.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_set_border_color()</strong>
   * <strong>ps_set_border_style()</strong>


id: ps_set_border_style
type: function
doc:
<comment>Description:</comment>
  Establecer el estilo del borde de las anotaciones
  
  Los vínculos añadidos con una de las funciones <strong>ps_add_weblink()</strong>, <strong>ps_add_pdflink()</strong>, etc. se
  mostrarán con un rectángulo circundante cuando el documento postscript es convertido a pdf y
  visualizado en un visualizador de pdf. Este rectángulo no es visible en el documento postscript.
  Esta función establece la apariencia y el ancho de la línea del borde.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$style</strong>  <strong>$style</strong> puede ser <return>solid</return> o <return>dashed</return>.
  <info>float</info>     <strong>$width</strong>  El ancho del borde.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_set_border_color()</strong>
   * <strong>ps_set_border_dash()</strong>


id: ps_set_info
type: function
doc:
<comment>Description:</comment>
  Establecer los campos de información del documento
  
  Establece ciertos campos de información del documento. Estos campos se mostrarán como un
  comentario en la cabecera del fichero PostScript. Si el documento es convertido a pdf, estos
  campos también se usarán para la información del documento.
  
  El campo <return>BoundingBox</return> normalmente se establece al valor dado a la primera página. Esto sólo
  funciona si no se ha llamado antes a la función <strong>ps_findfont()</strong>. En tal caso BoundingBox estará sin
  establecer a menos que se establezca explícitamente con esta función.
  
  Esta función ya no tendrá efecto cuando la cabecera del fichero postscript ha sido escrita. Debe
  ser llamada antes de la primera página o de la primera llamada a la función <strong>ps_findfont()</strong>.

<comment>Param:</comment>
  <info></info>        <strong>$psdoc</strong>  Un identificador de recursos del fichero postscript, como el devuelto por la
                  función <strong>ps_new()</strong>.
  <info>string</info>  <strong>$key</strong>    El nombre del campo de información a establecer. Los valores que se pueden
                  establecer son <return>Keywords</return> (palabras clave), <return>Subject</return> (asunto), <return>Title</return> (título),
                  <return>Creator</return> (creador), <return>Author</return> (autor), <return>BoundingBox</return> (caja circundante), y <return>Orientation</return>
                  (orientación). Tenga en cuenta que algunos de ellos tienen un significado para los
                  visualizadoes de PostScript.
  <info></info>        <strong>$value</strong>  El valor del campo de información. El campo <return>Orientation</return> puede ser establecido a
                  <return>Portrait</return> (horizontal) o <return>Landscape</return> (vertical). El campo <return>BoundingBox</return> es una cadena
                  de caracteres que consiste en cuatro números. Los dos primeros son las coordenadas
                  de la esquina inferior izquierda de la página. Los dos últimos son las coordenadas
                  de la esquina superior derecha.
                  
                  Hasta la versión 0.2.6 de pslib, los campos BoundingBox y Orientation eran
                  sobrescritos por la función <strong>ps_begin_page()</strong>, a menos que se llamara antes a la
                  función <strong>ps_findfont()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_findfont()</strong>
   * <strong>ps_begin_page()</strong>


id: ps_set_parameter
type: function
doc:
<comment>Description:</comment>
  Establecer ciertos parámetros
  
  Establece varios parámetros que son utilizados por muchas funciones. Los parámetros son por
  definción valores de tipo string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$name</strong>   Para una lista de los posibles nombres véase la función <strong>ps_get_parameter()</strong>.
  <info>string</info>    <strong>$value</strong>  El valor del parámetro.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_get_parameters()</strong>
   * <strong>ps_set_value()</strong>


id: ps_set_text_pos
type: function
doc:
<comment>Description:</comment>
  Establecer la posición de la salida de texto
  
  Establece la posición de la siguiente salida de texto. Alternativamente se puede establecer los
  valores x e y por serparado llamando a la función <strong>ps_set_value()</strong> y eligiendo <return>textx</return> y <return>texty</return>
  respectivamente como el nombre del valor.
  
  Si se ha de imprimir el texto en una cierta posición es más conveniente utilizar la función
  <strong>ps_show_xy()</strong> en lugar de establecer la posición del texto y llamar a la función <strong>ps_show()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>      La coordenada x de la nueva posición del texto.
  <info>float</info>     <strong>$y</strong>      La coordenada y de la nueva posición del texto.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_set_value()</strong>
   * <strong>ps_show()</strong>


id: ps_set_value
type: function
doc:
<comment>Description:</comment>
  Establecer ciertos valores
  
  Establece varios valores que son utilizados por muchas funciones. Los parámetros son por
  definición valores de tipo float.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$name</strong>   El nombre dado por <strong>$name</strong> puede ser uno de los siguientes: textrendering La
                    manera en que se muestra el texto. textx La coordenada x para la impresión del
                    texto. texty La coordenada y para la impresión del texto. wordspacing La
                    distancia entre palabras relativa al ancho de un espacio. leading La distancia
                    entre líneas en píxeles.
                    
                    La manera en que se muestra el texto.
                    
                    La coordenada x para la impresión del texto.
                    
                    La coordenada y para la impresión del texto.
                    
                    La distancia entre palabras relativa al ancho de un espacio.
                    
                    La distancia entre líneas en píxeles.
  <info>float</info>     <strong>$value</strong>  El valor del parámetro.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_get_value()</strong>
   * <strong>ps_set_parameter()</strong>


id: ps_setcolor
type: function
doc:
<comment>Description:</comment>
  Establecer el color actual
  
  Establece el color para dibujar, rellanar, o ambos.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>       El identificador de recursos del fichero postscript, como el devuelto por
                         la función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$type</strong>        El parámetro <strong>$type</strong> puede ser <return>both</return> (ambos), <return>fill</return> (relleno), o <return>fillstroke</return>
                         (contornear).
  <info>string</info>    <strong>$colorspace</strong>  El espacio de color debería ser <return>gray</return>, <return>rgb</return>, <return>cmyk</return>,  <return>spot</return>, <return>pattern</return>.
                         Dependiendo del espacio de color se usará solamente el primero parámetro,
                         los tres primeros o todos los parámetros.
  <info>float</info>     <strong>$c1</strong>          Dependiendo del espacio de color es el componente rojo (rgb), el componente
                         cian (cmyk), el valor de gris (gray), el identificador del color directo
                         (spot) o el identificador del patrón (pattern).
  <info>float</info>     <strong>$c2</strong>          Dependiendo del espacio de color es el componente verde (rgb) o el
                         componente magenta (cmyk).
  <info>float</info>     <strong>$c3</strong>          Dependiendo del espacio de color es el componente azul (rgb) o el
                         componente amarillo (cmyk).
  <info>float</info>     <strong>$c4</strong>          Este parámetro sólo debe establecerse en el espacio de color cmyk, y
                         especifica el componente negro.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_setdash
type: function
doc:
<comment>Description:</comment>
  Establecer la apariencia de una línea discontinua
  
  Establece la longitud de las porciones negras y blancas de una línea discontinua.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$on</strong>     La longitud de la raya.
  <info>float</info>     <strong>$off</strong>    La longitud del hueco entre rayas.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setpolydash()</strong>


id: ps_setflat
type: function
doc:
<comment>Description:</comment>
  Establecer la planicidad
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$value</strong>  El valor dado a <strong>$value</strong> debe estar entre 0.2 y 1.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_setfont
type: function
doc:
<comment>Description:</comment>
  Establecer la fuente a usar para la siguiente impresión
  
  Establece una fuente, la cual ha de ser cargada antes con la función <strong>ps_findfont()</strong>. Imprimir texto
  sin establecer una fuente resultará en un error.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$fontid</strong>  El identificador de la fuente, como el devuelto por la función <strong>ps_findfont()</strong>.
  <info>float</info>     <strong>$size</strong>    El tamaño de la fuente.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_findfont()</strong>
   * <strong>ps_set_text_pos()</strong> para un ejemplo.


id: ps_setgray
type: function
doc:
<comment>Description:</comment>
  Establecer el valor de gris
  
  Establece el valor de gris para todas las operaciones de dibujo siguientes.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$gray</strong>   El valor debe estar entre 0 (blanco) and 1 (negro).

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setcolor()</strong>


id: ps_setlinecap
type: function
doc:
<comment>Description:</comment>
  Establecer la apariencia de los extremos de línea
  
  Establece la apariencia de los extremos de línea.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$type</strong>   El tipo de extremo de línea. Los valores posibles son <return>PS_LINECAP_BUTT</return>,
                    <return>PS_LINECAP_ROUND</return>, o <return>PS_LINECAP_SQUARED</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setlinejoin()</strong>
   * <strong>ps_setlinewidth()</strong>
   * <strong>ps_setmiterlimit()</strong>


id: ps_setlinejoin
type: function
doc:
<comment>Description:</comment>
  Establecer cómo están unidas las líneas conectadas
  
  Establece cómo se unen las líneas

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$type</strong>   La forma de unir las líneas. Los valores posibles son <return>PS_LINEJOIN_MITER</return>,
                    <return>PS_LINEJOIN_ROUND</return>, o <return>PS_LINEJOIN_BEVEL</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setlinecap()</strong>
   * <strong>ps_setlinewidth()</strong>
   * <strong>ps_setmiterlimit()</strong>


id: ps_setlinewidth
type: function
doc:
<comment>Description:</comment>
  Establecer el ancho de una línea
  
  Esteblece el ancho de línea para todas las operaciones de dibujo siguientes.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$width</strong>  El ancho de las líneas en puntos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setlinecap()</strong>
   * <strong>ps_setlinejoin()</strong>
   * <strong>ps_setmiterlimit()</strong>


id: ps_setmiterlimit
type: function
doc:
<comment>Description:</comment>
  Establecer el límite del inglete
  
  Si dos líneas se unen en un ángulo pequeño y la unión de líneas está establecida a
  <return>PS_LINEJOIN_MITER</return>, el pico resultante será muy largo. El límite de inglete es la proporción máxima
  entre la longitud del inglete (la longitud del pico) y del ancho de línea.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$value</strong>  La proporción máxima entre la longitud del inglete y del ancho de línea. Los
                    valores grandes (&gt; 10) resultarán en picos muy largos cuando dos líneas se
                    encuentren en un ángulo pequeño. Mantenga el predeterminado a menos que sepa lo
                    que está haciendo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setlinecap()</strong>
   * <strong>ps_setlinejoin()</strong>
   * <strong>ps_setlinewidth()</strong>


id: ps_setoverprintmode
type: function
doc:
<comment>Description:</comment>
  Establecer el modo de sobreimpresión
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$mode</strong>   

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_setpolydash
type: function
doc:
<comment>Description:</comment>
  Establecer la apariencia de una línea discontinua
  
  Establece la longitud de las porciones negras y blancas de una línea discontinua. La función
  <strong>ps_setpolydash()</strong> se usa para establecer patrones discontinuos más complejos.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$arr</strong>    <strong>$arr</strong> es una lista de elementos de longitud alternados para las porcioines negras
                    y blancas.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_setdash()</strong>


id: ps_shading
type: function
doc:
<comment>Description:</comment>
  Crear un sombreado para su uso posterior
  
  Crea un sombreado que puede ser utilizado por las funciones <strong>ps_shfill()</strong> o <strong>ps_shading_pattern()</strong>.
  
  El color del sombreado puede estar en cualquier espacio de color excepto para <return>pattern</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>           El identificador de recursos del fichero postscript, como el devuelto
                             por la función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$type</strong>            El tipo de sombreado puede ser <return>radial</return> o <return>axial</return>. Cada sombreado comienza
                             con el color de relleno actual y termina con los valores de color
                             pasados a los parámetros <strong>$c1</strong> a <strong>$c4</strong> (véase la función <strong>ps_setcolor()</strong> para
                             sus significados).
  <info></info>          <strong>$x0, x1, y0, y1</strong>  Las coordenadas <strong>$x0</strong>, <strong>$y0</strong>, <strong>$x1</strong>, <strong>$y1</strong> son el punto de inicio y el punto
                             final del sombreado. Si el tipo de sombreado es <return>radial</return> los dos puntos
                             son los puntos medios de un círculo inicial y final.
  <info></info>          <strong>$c1, c2, c3, c4</strong>  Véase la función <strong>ps_setcolor()</strong> para sus significados.
  <info>string</info>    <strong>$optlist</strong>         Si el sombreado es de tipo <return>radial</return> el parámetro <strong>$optlist</strong> debe contener
                             también los parámetros <return>r0</return> y <return>r1</return> con el radio del círculo inicial y
                             final.

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador del patrón  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_shading_pattern()</strong>
   * <strong>ps_shfill()</strong>


id: ps_shading_pattern
type: function
doc:
<comment>Description:</comment>
  Crear un patrón basado en un sombreado
  
  Crea un patrón basado en un sombreado, el cual ha de ser creado antes con la función <strong>ps_shading()</strong>.
  Los patrones de sombreado se pueden usar como patrones normales.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>      El identificador de recursos del fichero postscript, como el devuelto por la
                        función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$shadingid</strong>  El identificador de un sombreado previamente creado con la función
                        <strong>ps_shading()</strong>.
  <info>string</info>    <strong>$optlist</strong>    Este argumento actualmente no se usa.

<comment>Return:</comment>
  <info>int</info>  El identificador del patrón  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_shading()</strong>
   * <strong>ps_shfill()</strong>


id: ps_shfill
type: function
doc:
<comment>Description:</comment>
  Rellenar un área con un sombreado
  
  Rellena un área con un sombreado, que ha de ser creado antes con la función <strong>ps_shading()</strong>. Esta es
  una manera alternativa de crear un patrón desde un sombreado con la función <strong>ps_shading_pattern()</strong> y
  usar el patrón como color de relleno.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>      El identificador de recursos del fichero postscript, como el devuelto por la
                        función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$shadingid</strong>  El identificador de un sombreado previamente creado con la función
                        <strong>ps_shading()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_shading()</strong>
   * <strong>ps_shading_pattern()</strong>


id: ps_show
type: function
doc:
<comment>Description:</comment>
  Imprimir texto
  
  Imprime un texto en la posición de texto actual. La posición de texto puede ser establecida
  almacenado las coordenadas x e y en los valores <return>textx</return> y <return>texty</return> con la función <strong>ps_set_value()</strong>. La
  función emitirá un error si no se estableció antes una fuente con la función <strong>ps_setfont()</strong>.
  
  <strong>ps_show()</strong> evalúa los siguientes parámetros y valores establecidos por las funciones
  <strong>ps_set_parameter()</strong> y <strong>ps_set_value()</strong>:
  
  Distancia entre dos glifos consecutivos. Si este valor es distinto de cero todas las ligaduras
  serán resueltas. Están permitidos valores menores que cero.
  
  Establecer este parámetro a "false" desactivará el interletraje. El interletraje está activado por
  defecto.
  
  Establecer esta parámetro a "false" desactivará el uso de ligaduras.  Las ligaduras están
  activadas por defecto.
  
  Establecer esta parámetro a "true" activará el subrayado. El subrayado está desctivado por
  defecto.
  
  Establecer esta parámetro a "true" activará el suprarayado. El suprarayado está desctivado por
  defecto.
  
  Establecer esta parámetro a "true" activará el tachado. El tachado está desctivado por defecto.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>   El texto a imprimir.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_continue_text()</strong>
   * <strong>ps_show_xy()</strong>
   * <strong>ps_setfont()</strong>


id: ps_show2
type: function
doc:
<comment>Description:</comment>
  Imprimir texto en la posición actual
  
  Imprime texto en la posición actual. No imprime más de <strong>$len</strong> caracteres.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Un identificador de recurso del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>   El texto a imprimir.
  <info>int</info>       <strong>$len</strong>    El número máximo de caracteres a imprimir.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_show_boxed
type: function
doc:
<comment>Description:</comment>
  Imprimir texto en una caja
  
  Imprime un texto en la caja dada. La esquina inferior izquierda de la caja está en (<strong>$left</strong>,
  <strong>$bottom</strong>). Los saltos de línea se insertarán según sean necesarios. Los espacios múltiples se
  tratan como uno sólo. Las tabulaciones son tratadas como espacios.
  
  El texto será particionado silábicamente si el parámetro <strong>$hyphenation</strong> es establecido a <info>true</info> y el
  parámetro <strong>$hyphendict</strong> contiene un nombre de fichero válido para un fichero de patrones de
  partición silábica. La interlínea se toma del valor <return>leading</return>. Los párrafos pueden ser separados por
  una línea vacía como en TeX. Si el valor <return>parindent</return> es establecido a un valor &gt; 0.0, las
  primeras n líneas serán sangradas. El número de líneas n se establece mediante el parámetro
  <return>numindentlines</return>. Para prevenir el sangrado de los primeros m párrafos se ha de establecer el valor
  <return>parindentskip</return> a un número positivo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>    El identificador de recursos del fichero postscript, como el devuelto por la
                      función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>     El texto a imprimir en la caja dada.
  <info>float</info>     <strong>$left</strong>     La coordenada x de la esquina inferior izquierda de la caja.
  <info>float</info>     <strong>$bottom</strong>   La coordenada y de la esquina inferior izquierda de la caja.
  <info>float</info>     <strong>$width</strong>    El ancho de la caja.
  <info>float</info>     <strong>$height</strong>   El alto de la caja.
  <info>string</info>    <strong>$hmode</strong>    El parámetro <strong>$hmode</strong> puede ser "justify" (justificado), "fulljustify"
                      (justificado completamete), "right" (a la derecha), "left" (a la izquierda), o
                      "center" (centrado). La diferencia entre "justify" y "fulljustify" afecta a la
                      última línea de la caja. En el modo "fulljustify" la última línea será
                      justificada a izquierda y derecha a menos que sea también la última línea del
                      párrafo. En el modo "justify" siempre será justificada a la izquierda.
  <info>string</info>    <strong>$feature</strong>  

<comment>Return:</comment>
  <info>int</info>  El número de caracteres que no podrán ser escritos.

<comment>See Also:</comment>
   * <strong>ps_continue_text()</strong>


id: ps_show_xy
type: function
doc:
<comment>Description:</comment>
  Imprimir texto en una posición dada
  
  Imprime texto en la posición de texto dada.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>   El texto a imprimir.
  <info>float</info>     <strong>$x</strong>      La coordenada x de la esquina inferior izquierda de la caja circundante del
                    texto.
  <info>float</info>     <strong>$y</strong>      La coordenada y de la esquina inferior izquierda de la caja circundante del
                    texto.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_continue_text()</strong>
   * <strong>ps_show()</strong>


id: ps_show_xy2
type: function
doc:
<comment>Description:</comment>
  Imprimir texto en una posición
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: ps_string_geometry
type: function
doc:
<comment>Description:</comment>
  Establecer la geometría de una cadena de caracteres
  
  Esta función es similar a la función <strong>ps_stringwidth()</strong>, excepto que devuelve un array de
  dimensiones que contiene el ancho, el ascendente y el descendente del texto.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>    El texto por el cual se calcula la geometría.
  <info>int</info>       <strong>$fontid</strong>  El identificador de la fuente a usar. Si no se especifica una fuente se usará
                     la fuente actual.
  <info>float</info>     <strong>$size</strong>    El tamaño de la fuente. Si no se especifica un tamaño se usará el tamaño
                     actual.

<comment>Return:</comment>
  <info>array</info>  Un array con las dimensiones de una cadena. El elemento 'width' contiene el ancho de la
         cadena devuelto por la función <strong>ps_stringwidth()</strong>. El elemento 'descender' contiene el
         descendente máximo y 'ascender' el ascendente máximo de la cadena.

<comment>See Also:</comment>
   * <strong>ps_continue_text()</strong>
   * <strong>ps_stringwidth()</strong>


id: ps_stringwidth
type: function
doc:
<comment>Description:</comment>
  Obtener el ancho de una cadena
  
  Calcula el ancho de una cadena en puntos si fue impresa con la fuente y tamaño de fuente dados.
  Esta función necesita un fichero de métrica de fuente de Adobe para calcular el ancho preciso. Si
  la partición silábica está activada se tomará en cuenta.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>string</info>    <strong>$text</strong>    El texto por el que calcular el ancho.
  <info>int</info>       <strong>$fontid</strong>  El identificador de la fuente a usar. Si no se especifica ninguna fuente se
                     usará la fuente actual.
  <info>float</info>     <strong>$size</strong>    El tamaño de la fuente. Si no se especifica ningún tamaño se usará el tamaño
                     actual.

<comment>Return:</comment>
  <info>float</info>  El ancho de una cadena en puntos.

<comment>See Also:</comment>
   * <strong>ps_string_geometry()</strong>


id: ps_stroke
type: function
doc:
<comment>Description:</comment>
  Dibujar el trazado actual
  
  Dibuja el trazado construido previamente con las llamadas a las funciones de dibujo como
  <strong>ps_lineto()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_closepath_stroke()</strong>
   * <strong>ps_fill()</strong>
   * <strong>ps_fill_stroke()</strong>


id: ps_symbol
type: function
doc:
<comment>Description:</comment>
  Imprimir un glifo
  
  Imprime el glifo de la posición <strong>$ord</strong> del vector de codificación de fuentes de la fuente actual. La
  codificación de fuente para una fuente se puede establecer cargando la fuente con la función
  <strong>ps_findfont()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$ord</strong>    La posición del glifo en el vector de codificación de fuentes.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_symbol_name()</strong>
   * <strong>ps_symbol_width()</strong>


id: ps_symbol_name
type: function
doc:
<comment>Description:</comment>
  Obtener el nombre de un glifo
  
  Esta función necesita un fichero de métrica de fuentes de Adobe para conocer los glifos que están
  disponibles.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$ord</strong>     El parámetro <strong>$ord</strong> es la posición del glifo en el vector de codificación de
                     fuente.
  <info>int</info>       <strong>$fontid</strong>  El identificador de la fuente a usar. Si no se especifica ninguna fuente se
                     usará la fuente actual.

<comment>Return:</comment>
  <info>string</info>  El nombre de un glifo de la fuente dada.

<comment>See Also:</comment>
   * <strong>ps_symbol()</strong>
   * <strong>ps_symbol_width()</strong>


id: ps_symbol_width
type: function
doc:
<comment>Description:</comment>
  Obtener el ancho de un glifo
  
  Calcula el ancho de un glifo en puntos si fue impreso con la fuente y el tamaño de fuente dados.
  Esta función necesita un fichero de métrica de fuentes de Adobe para calcular el ancho preciso.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>   El identificador de recursos del fichero postscript, como el devuelto por la
                     función <strong>ps_new()</strong>.
  <info>int</info>       <strong>$ord</strong>     La posición del glifo en el vector de codificación de fuente.
  <info>int</info>       <strong>$fontid</strong>  El identificador de la fuente a usar. Si no se especifica ninguna fuente se
                     usará la fuente actual.
  <info>float</info>     <strong>$size</strong>    El tamaño de la fuente. Si no se especifica ningún tamaño se usará el tamaño
                     actual.

<comment>Return:</comment>
  <info>float</info>  El ancho de un glifo en puntos.

<comment>See Also:</comment>
   * <strong>ps_symbol()</strong>
   * <strong>ps_symbol_name()</strong>


id: ps_translate
type: function
doc:
<comment>Description:</comment>
  Establecer una traslación
  
  Establece un nuevo punto inicial del sistema de coordenadas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  El identificador de recursos del fichero postscript, como el devuelto por la
                    función <strong>ps_new()</strong>.
  <info>float</info>     <strong>$x</strong>      La coordenada x del origen del sistema de coordenadas trasladado.
  <info>float</info>     <strong>$y</strong>      La coordenada y del origen del sistema de coordenadas trasladado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ps_scale()</strong>
   * <strong>ps_rotate()</strong>


id: pspell_add_to_personal
type: function
doc:
<comment>Description:</comment>
  Añadir una palabra a la lista personal de palabras
  
  <strong>pspell_add_to_personal()</strong> añade una palabra a la lista personal de palabras. Si se usó
  <strong>pspell_new_config()</strong> con <strong>pspell_config_personal()</strong> para abrir un diccionario, se puede guardar la
  lista de palabras más tarde con <strong>pspell_save_wordlist()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$word</strong>             La palabra añadida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_add_to_session
type: function
doc:
<comment>Description:</comment>
  Añadir la palabra a la lista de palabras en la sesión actual
  
  <strong>pspell_add_to_session()</strong> añade una palabra a la lista de palabras asociadas con la sesión actual.
  Es muy parecida a <strong>pspell_add_to_personal()</strong>

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$word</strong>             La palabra añadida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_check
type: function
doc:
<comment>Description:</comment>
  Verificar una palabra
  
  <strong>pspell_check()</strong> verifica la ortografía de una palabra.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$word</strong>             La palabra comprobada.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la ortografía es correcta, <info>false</info> si no.


id: pspell_clear_session
type: function
doc:
<comment>Description:</comment>
  Limpia la sesión actual
  
  <strong>pspell_clear_session()</strong> limpia la sesión actual. La lista de palabras actual se pone en blanco, y,
  por ejemplo, si se intenta guardarla con <strong>pspell_save_wordlist()</strong>, no sucederá nada.

<comment>Param:</comment>
  <info>int</info>  <strong>$dictionary_link</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_create
type: function
doc:
<comment>Description:</comment>
  Crear una configuración usada para abrir un diccionario
  
  Crea una configuración usada para abrir un diccionario.
  
  <strong>pspell_config_create()</strong> tienen una sintaxis muy parecida a la de <strong>pspell_new()</strong>. De hecho, al usar
  <strong>pspell_config_create()</strong> seguido inmediatemante de <strong>pspell_new_config()</strong> producirá exactamente el
  mismo resultado. Sin embargo, después de crear una nueva configuración también se pueden usar las
  funciones <strong>pspell_config_*()</strong> antes de llamar a <strong>pspell_new_config()</strong> para tomar ventaja de algunas
  funcionalidades avanzadas.
  
  Para más información y ejemplos, verifique el sitio web de pspell del manual en
  línea:http://aspell.net/.

<comment>Param:</comment>
  <info>string</info>  <strong>$language</strong>  El parámetro language es el código de lenguaje que consiste en el código de
                     lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras
                     opcional después de un guión o guión de subrayado.
  <info>string</info>  <strong>$spelling</strong>  El parámetro spelling es la ortografía solicitada para lenguajes con más de una
                     ortografía, como el inglés. Valores conocidos son 'american', 'british', y
                     'canadian'.
  <info>string</info>  <strong>$jargon</strong>    El parámetro jargon contiene información extra para distinguir dos listas de
                     palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.
  <info>string</info>  <strong>$encoding</strong>  El parámetro encoding es la codificación que se espera que tengan esas
                     palabras. Los valores válidos son 'utf-8', 'iso8859-*', 'koi8-r', 'viscii',
                     'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parámetro no está
                     en gran parte comprobado, por lo que, tenga cuidado al usarlo.

<comment>Return:</comment>
  <info>int</info>  Devuelve un identificador de configuración de ortografía, o <info>false</info> en caso de error.


id: pspell_config_data_dir
type: function
doc:
<comment>Description:</comment>
  Ubicación de los ficheros de información de lenguaje
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_dict_dir
type: function
doc:
<comment>Description:</comment>
  Ubicación de la lista principal de palabras
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
  
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_ignore
type: function
doc:
<comment>Description:</comment>
  Ignorar palabras con menos de N caracteres
  
  <strong>pspell_config_ignore()</strong> debería usarse en una configuración antes de llamar a <strong>pspell_new_config()</strong>.
  Esta función permite al corrector de ortografía saltarse palabras cortas.

<comment>Param:</comment>
  <info>int</info>  <strong>$dictionary_link</strong>  
  <info>int</info>  <strong>$n</strong>                Las palabras con menos de <strong>$n</strong> caracteres serán saltadas.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_mode
type: function
doc:
<comment>Description:</comment>
  Cambiar el modo de número de sugerencias devueltas
  
  <strong>pspell_config_mode()</strong> debería usarse en una configuración antes de llamar a <strong>pspell_new_config()</strong>.
  Esta función determina cuántas sugerencias serán devueltas por <strong>pspell_suggest()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$dictionary_link</strong>  
  <info>int</info>  <strong>$mode</strong>             El parámetro mode es el modo en el que trabajará el corrector ortográfico.
                         Hay varios modos disponibles: <info>PSPELL_FAST</info> - Modo rápido (menor númeo de
                         sugerencias) <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias)
                         <info>PSPELL_BAD_SPELLERS</info> - Modo lento (un montón de sugerencias)
                         
                         <info>PSPELL_FAST</info> - Modo rápido (menor númeo de sugerencias)
                         
                         <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias)
                         
                         <info>PSPELL_BAD_SPELLERS</info> - Modo lento (un montón de sugerencias)

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_personal
type: function
doc:
<comment>Description:</comment>
  Establecer un fichero que contiene una lista personal de palabras
  
  Establece un fichero que contiene una lista personal de palabras. Además, ésta será cargada en la
  lista estándar después de llamar a <strong>pspell_new_config()</strong>. Es fichero también es el fichero donde
  <strong>pspell_save_wordlist()</strong> guardará la lista personal de palabras.
  
  <strong>pspell_config_personal()</strong> debería usarse con una configuración antes de llamar a
  <strong>pspell_new_config()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$file</strong>             La lista personal de palabras. Si el fichero no existe, se creará. El
                            fichero debería ser modificable por quienquiera que ejecute PHP (p.ej.
                            nadie).

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_repl
type: function
doc:
<comment>Description:</comment>
  Establecer un fichero que contiene pares de sustitución
  
  Establece un fichero que contiene pares de sustitución.
  
  Los pares de sustitución mejoran la calidad del corrector ortográfico. Cuando una palabra está mal
  escrita y no se ha encontrado una sugerencia apropiada en la lista, se puede usar
  <strong>pspell_store_replacement()</strong> para almacenar un par de sustitución y después <strong>pspell_save_wordlist()</strong>
  para guardar la lista de palabras junto con los pares de sustitución.
  
  <strong>pspell_config_repl()</strong> debería usarse con una configuración antes de llamar a <strong>pspell_new_config()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$file</strong>             El fichero debería ser modificable por quienquiera que ejecute PHP
                            (p.ej. nadie).

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_runtogether
type: function
doc:
<comment>Description:</comment>
  Considerar las palabras unidas como compuestos válidos
  
  Esta función determina si las palabras unidas serán tratadas como compuestos legales. Es decir,
  "elgato" será un compuesto legal, aunque debería de haber un espacio entre las dos palabras.
  Cambiar esta configuración únicamente afecta a los resultados devueltos por <strong>pspell_check()</strong>;
  <strong>pspell_suggest()</strong> seguirá devolviendo sugerencias.
  
  <strong>pspell_config_runtogether()</strong> debería usarse con una configuración antes de llamar a
  <strong>pspell_new_config()</strong>.

<comment>Param:</comment>
  <info>int</info>   <strong>$dictionary_link</strong>  
  <info>bool</info>  <strong>$flag</strong>             <info>true</info> si las palabras unidas deberían ser tratadas como compuestos legales,
                          <info>false</info> si no.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_config_save_repl
type: function
doc:
<comment>Description:</comment>
  Deterinar si se guarda una lista de pares de sustitución
    junto con la lista de palabras
  
  <strong>pspell_config_save_repl()</strong> determina si <strong>pspell_save_wordlist()</strong> guardará los pares de sustitución
  junto con la lista de palabras. Normalmente no hay necesidad de usar esta función ya que si se usa
  <strong>pspell_config_repl()</strong>, los pares de sustitución serán guardados por <strong>pspell_save_wordlist()</strong> de todos
  modos, y si no, los pares de sustitución no se guardarán.
  
  <strong>pspell_config_save_repl()</strong> debería usarse con una configuración antes de llamar a
  <strong>pspell_new_config()</strong>.

<comment>Param:</comment>
  <info>int</info>   <strong>$dictionary_link</strong>  
  <info>bool</info>  <strong>$flag</strong>             <info>true</info> si los pares de sustitución deberían guardarse, <info>false</info> si no.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_new
type: function
doc:
<comment>Description:</comment>
  Cargar un nuevo diccionario
  
  <strong>pspell_new()</strong> abre un nuevo diccionario y devuelve el identificador de vínculo de diccionario para
  usarlo en otras funciones pspell.
  
  Para más información y ejemplos, verifique el sitio web de pspell del manual en
  línea:http://aspell.net/.

<comment>Param:</comment>
  <info>string</info>  <strong>$language</strong>  El parámetro language es el código de lenguaje que consiste en el código de
                     lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras
                     opcional después de un guión o guión de subrayado.
  <info>string</info>  <strong>$spelling</strong>  El parámetro spelling es la ortografía solicitada para lenguajes con más de una
                     ortografía, como el inglés. Valores conocidos son 'american', 'british', y
                     'canadian'.
  <info>string</info>  <strong>$jargon</strong>    El parámetro jargon contiene información extra para distinguir dos listas de
                     palabras diferentes que tienen el mismo lenguaje y parámetros de ortografía.
  <info>string</info>  <strong>$encoding</strong>  El parámetro encoding es la codificación que se espera que tengan esas
                     palabras. Los valores válidos son 'utf-8', 'iso8859-*', 'koi8-r', 'viscii',
                     'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Este parámetro no está
                     en gran parte comprobado, por lo que, tenga cuidado al usarlo.
  <info>int</info>     <strong>$mode</strong>      El parámetro mode es el modo en el que trabajará el corrector ortográfico. Hay
                     varios modos disponibles: <info>PSPELL_FAST</info> - Modo rápido (menor númeo de
                     sugerencias) <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias) <info>PSPELL_BAD_SPELLERS</info>
                     - Modo lento (un montón de sugerencias) <info>PSPELL_RUN_TOGETHER</info> - Considerar
                     palabras unidas como compuestos legales. Es decir, "elgao" será un compuesto
                     legal, aunque debería haber un espacio entre las dos palabras. Cambiar esta
                     configuración solo afecta a los resultados devueltos por <strong>pspell_check()</strong>;
                     <strong>pspell_suggest()</strong> seguirá devolviendo sugerencias.  El modo es una máscara de
                     bits construida a partir de diferentes constantes antes listadas. Sin embargo,
                     <info>PSPELL_FAST</info>, <info>PSPELL_NORMAL</info> y <info>PSPELL_BAD_SPELLERS</info> son mutuamente exclusivas, por
                     lo que debería seleccionar únicamente una de ellas.
                     
                     <info>PSPELL_FAST</info> - Modo rápido (menor númeo de sugerencias)
                     
                     <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias)
                     
                     <info>PSPELL_BAD_SPELLERS</info> - Modo lento (un montón de sugerencias)
                     
                     <info>PSPELL_RUN_TOGETHER</info> - Considerar palabras unidas como compuestos legales. Es
                     decir, "elgao" será un compuesto legal, aunque debería haber un espacio entre
                     las dos palabras. Cambiar esta configuración solo afecta a los resultados
                     devueltos por <strong>pspell_check()</strong>; <strong>pspell_suggest()</strong> seguirá devolviendo sugerencias.

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador de vínculo de diccionario en caso de éxito  o <info>false</info> en caso de
       error.


id: pspell_new_config
type: function
doc:
<comment>Description:</comment>
  Cargar un nuevo diccionario con ajustes basados en una configuración dada
    
  
  <strong>pspell_new_config()</strong> abre un nuevo diccionario con los ajustes especificados en una configuración,
  creada con <strong>pspell_config_create()</strong> y modificada con las funciones <strong>pspell_config_*()</strong>. Este método
  proporciona la mayor flexibilidad y tiene todas las funcionalidades proporcionadas por
  <strong>pspell_new()</strong> y <strong>pspell_new_personal()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$config</strong>  El parámetro <strong>$config</strong> es una configuración devuelta por <strong>pspell_config_create()</strong> cuando
                se creó la configuración.

<comment>Return:</comment>
  <info>int</info>  Devuelve un identificador de vínculo de diccionario en caso de éxito.


id: pspell_new_personal
type: function
doc:
<comment>Description:</comment>
  Cargar un nuevo diccionario con una lista personal de palabras
  
  <strong>pspell_new_personal()</strong> abre un nuevo diccionario con una lista personal de palabras. Ésta puede ser
  modificada y guardada con <strong>pspell_save_wordlist()</strong>, si se desea. Sin embargo, los pares de
  sustitución no se guardan. Para guardarlos se debería crear una configuración usando
  <strong>pspell_config_create()</strong>, establecer el fichero de la lista personal de palabras con
  <strong>pspell_config_personal()</strong>, establecer el fichero de pares de sustitución con <strong>pspell_config_repl()</strong>,
  y abrir un nuevo diccionario con <strong>pspell_new_config()</strong>.
  
  Para más información y ejemplos, verifique el sitio web de pspell del manual en
  línea:http://aspell.net/.

<comment>Param:</comment>
  <info>string</info>  <strong>$personal</strong>  El fichero donde se almacenarán las palabras añadidas a la lista personal.
                     Debería ser un nombre de fichero absoluto comenzado con '/', ya que de otro
                     modo será relativo a $HOME, el cual es "/root" para la mayoría de sistemas, y
                     probablemente no es lo que quiere.
  <info>string</info>  <strong>$language</strong>  El parámetro language es el código de lenguaje que consiste en el código de
                     lenguaje ISO 639 de dos letras y un código de país ISO 3166 de dos letras
                     opcional después de un guión o guión de subrayado.
  <info>string</info>  <strong>$spelling</strong>  La ortografía solicitada para lenguajes con más de una ortografía, como el
                     inglés. Valores conocidos son 'american', 'british', y 'canadian'.
  <info>string</info>  <strong>$jargon</strong>    Información extra para distinguir dos listas de palabras diferentes que tienen
                     el mismo lenguaje y parámetros de ortografía.
  <info>string</info>  <strong>$encoding</strong>  La codificación que se espera que tengan esas palabras. Los valores válidos son
                     <return>utf-8</return>, <return>iso8859-*</return>,  <return>koi8-r</return>, <return>viscii</return>,  <return>cp1252</return>, <return>machine unsigned 16</return>,  <return>machine
                     unsigned 32</return>.
  <info>int</info>     <strong>$mode</strong>      El modo en el que trabajará el corrector ortográfico. Hay varios modos
                     disponibles: <info>PSPELL_FAST</info> - Modo rápido (menor númeo de sugerencias)
                     <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias) <info>PSPELL_BAD_SPELLERS</info> - Modo lento
                     (un montón de sugerencias) <info>PSPELL_RUN_TOGETHER</info> - Considerar palabras unidas
                     como compuestos legales. Es decir, "elgao" será un compuesto legal, aunque
                     debería haber un espacio entre las dos palabras. Cambiar esta configuración
                     solo afecta a los resultados devueltos por <strong>pspell_check()</strong>; <strong>pspell_suggest()</strong>
                     seguirá devolviendo sugerencias.  El modo es una máscara de bits construida a
                     partir de diferentes constantes listadas después. Sin embargo, <info>PSPELL_FAST</info>,
                     <info>PSPELL_NORMAL</info> y <info>PSPELL_BAD_SPELLERS</info> son mutuamente exclusivas, por lo que
                     debería seleccionar únicamente una de ellas.
                     
                     <info>PSPELL_FAST</info> - Modo rápido (menor númeo de sugerencias)
                     
                     <info>PSPELL_NORMAL</info> - Modo normal (más sugerencias)
                     
                     <info>PSPELL_BAD_SPELLERS</info> - Modo lento (un montón de sugerencias)
                     
                     <info>PSPELL_RUN_TOGETHER</info> - Considerar palabras unidas como compuestos legales. Es
                     decir, "elgao" será un compuesto legal, aunque debería haber un espacio entre
                     las dos palabras. Cambiar esta configuración solo afecta a los resultados
                     devueltos por <strong>pspell_check()</strong>; <strong>pspell_suggest()</strong> seguirá devolviendo sugerencias.

<comment>Return:</comment>
  <info>int</info>  Devuelve el identificador de vínculo de diccionario para usarlo en otras funciones pspell.


id: pspell_save_wordlist
type: function
doc:
<comment>Description:</comment>
  Guardar la lista de palabras personal a un fichero
  
  <strong>pspell_save_wordlist()</strong> guarda la lista personal de palabras de la sesión actual. La ubicación de
  ficheros a guardar se especifica con <strong>pspell_config_personal()</strong> y (opcionalmente)
  <strong>pspell_config_repl()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$dictionary_link</strong>  Un identificador de vínculo a un diccionario abierto con
                         <strong>pspell_new_personal()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_store_replacement
type: function
doc:
<comment>Description:</comment>
  Almacenar un par de sustitución de una palabra
  
  <strong>pspell_store_replacement()</strong> almacena un par de sustitución de una palabra, por lo que esa
  sustitución puede ser devuelta más tarde por <strong>pspell_suggest()</strong>. Para ser capaz de tomar ventaja de
  esta función, se tiene que usar <strong>pspell_new_personal()</strong> para abrir el diccionario. Para guardar
  permanentemente el par de sustitución se tiene que usar <strong>pspell_config_personal()</strong> y
  <strong>pspell_config_repl()</strong> para establecer la ruta donde guardar las listas personalizadas de palabras,
  y después usar <strong>pspell_save_wordlist()</strong> para escribir los cambios al disco.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  Un idenficador de vínculo de diccionario, abierto con
                            <strong>pspell_new_personal()</strong>
  <info>string</info>  <strong>$misspelled</strong>       La palabra mal escrita.
  <info>string</info>  <strong>$correct</strong>          La ortografía corregida para la palabra <strong>$misspelled</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: pspell_suggest
type: function
doc:
<comment>Description:</comment>
  Sugerir ortografías de una palabra
  
  <strong>pspell_suggest()</strong> devuelve un array de posibles ortografías para la palabra dada.

<comment>Param:</comment>
  <info>int</info>     <strong>$dictionary_link</strong>  
  <info>string</info>  <strong>$word</strong>             La palabra comprobada.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array de posibles ortografías.


id: putenv
type: function
doc:
<comment>Description:</comment>
  Establece el valor de una variable de entorno
  
  Agrega <strong>$setting</strong> al entorno del servidor. La variable de entorno existirá únicamente durante la
  petición actual. Al final de la petición el entorno es recuperado a su estado original.

<comment>Param:</comment>
  <info></info>  <strong>$asignación</strong>  El parámetro, como p.ej. <return>"FOO=BAR"</return>

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>getenv()</strong>
   * <strong>apache_setenv()</strong>


id: quoted_printable_decode
type: function
doc:
<comment>Description:</comment>
  Convierte un string quoted-printable en un string de 8 bits
  
  Esta función devuelve un string binario de 8 bits que corresponde al string quoted printable
  decodificado (de acuerdo con el RFC2045, sección 6.7, no el RFC2821, sección 4.5.2, así que puntos
  adicionales no son retirados del principio de línea).
  
  Esta función es similar a <strong>imap_qprint()</strong>, excepto que no requiere del módulo IMAP para funcionar.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  El string de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string binario de 8 bits.

<comment>See Also:</comment>
   * <strong>quoted_printable_encode()</strong>


id: quoted_printable_encode
type: function
doc:
<comment>Description:</comment>
  Convierte un string de 8 bits en un string quoted-printable
  
  Devuelve un string quoted printable creado de acuerdo con su definición en RFC2045, sección 6.7.
  
  Esta función es similar a <strong>imap_8bit()</strong>, excepto que no requiere el módulo IMAP para funcionar.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  El string de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string codificado.

<comment>See Also:</comment>
   * <strong>quoted_printable_decode()</strong>
   * <strong>iconv_mime_encode()</strong>


id: quotemeta
type: function
doc:
<comment>Description:</comment>
  Escapa meta caracteres
  
  Devuelve una versión de str con una barra invertida (<return>\</return>) antes de cada caracter que sea uno de los
  siguientes: . \ + * ? [ ^ ] ( $ )

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  El string de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string con los meta caracteres escapados o <info>false</info> si un string vacío es dado
          como <strong>$str</strong>.

<comment>See Also:</comment>
   * <strong>addslashes()</strong>
   * <strong>addcslashes()</strong>
   * <strong>htmlentities()</strong>
   * <strong>htmlspecialchars()</strong>
   * <strong>nl2br()</strong>
   * <strong>stripslashes()</strong>
   * <strong>stripcslashes()</strong>
   * <strong>ereg()</strong>
   * <strong>preg_quote()</strong>


id: rad2deg
type: function
doc:
<comment>Description:</comment>
  Convierte el número en radianes a su equivalente en grados
    
  
  Esta función convierte a <strong>$numero</strong> desde radianes a grados.

<comment>Param:</comment>
  <info>float</info>  <strong>$number</strong>  Un valor en radianes

<comment>Return:</comment>
  <info>float</info>  El equivalente de <strong>$number</strong> en grados

<comment>See Also:</comment>
   * <strong>deg2rad()</strong>


id: radius_acct_open
type: function
doc:
<comment>Description:</comment>
  Crea un manejador Radius para el conteo

<comment>Return:</comment>
  <info>resource</info>  Devuelve un manejador en caso de tener éxito, <info>false</info> en caso de error. Esta función falla
            solamente si hay insuficiencia de memoria.


id: radius_add_server
type: function
doc:
<comment>Description:</comment>
  Adds a server
  
  <strong>radius_add_server()</strong> may be called multiple times, and it may be used together with
  <strong>radius_config()</strong>. At most 10 servers may be specified. When multiple servers are given, they are
  tried in round-robin fashion until a valid response is received, or until each server's <strong>$max_tries</strong>
  limit has been reached.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  
  <info>string</info>    <strong>$hostname</strong>       The <strong>$hostname</strong> parameter specifies the server host, either as a fully
                            qualified domain name or as a dotted-quad IP address in text form.
  <info>int</info>       <strong>$port</strong>           The <strong>$port</strong> specifies the UDP port to contact on the server. If port is
                            given as 0, the library looks up the radius/udp or radacct/udp service
                            in the network services database, and uses the port found there.  If no
                            entry is found, the library uses the standard Radius ports, 1812 for
                            authentication and 1813 for accounting.
  <info>string</info>    <strong>$secret</strong>         The shared secret for the server host is passed to the <strong>$secret</strong>
                            parameter. The Radius protocol ignores all but the leading 128 bytes of
                            the shared secret.
  <info>int</info>       <strong>$timeout</strong>        The timeout for receiving replies from the server is passed to the
                            <strong>$timeout</strong> parameter, in units of seconds.
  <info>int</info>       <strong>$max_tries</strong>      The maximum number of repeated requests to make before giving up is
                            passed into the <strong>$max_tries</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_config()</strong>


id: radius_auth_open
type: function
doc:
<comment>Description:</comment>
  Crea un identificador de Radius para la autenticación

<comment>Return:</comment>
  <info>resource</info>  Devuelve un manejador en caso de éxito, <info>false</info> en caso de error. Esta función sólo falla
            si hay  insuficiente memoria disponible.


id: radius_close
type: function
doc:
<comment>Description:</comment>
  Libera todos los recursos
  
  No es necesario llamar a esta función debido a que php libera todos los recursos al final de cada
  petición.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: radius_config
type: function
doc:
<comment>Description:</comment>
  Causes the library to read the given configuration file
  
  Before issuing any Radius requests, the library must be made aware of the servers it can contact.
  The easiest way to configure the library is to call <strong>radius_config()</strong>. <strong>radius_config()</strong> causes the
  library to read a configuration file whose format is described in radius.conf.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  
  <info>string</info>    <strong>$file</strong>           The pathname of the configuration file is passed as the file argument to
                            <strong>radius_config()</strong>. The library can also be configured programmatically by
                            calls to <strong>radius_add_server()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_add_server()</strong>


id: radius_create_request
type: function
doc:
<comment>Description:</comment>
  Create accounting or authentication request
  
  A Radius request consists of a code specifying the kind of request, and zero or more attributes
  which provide additional information. To begin constructing a new request, call
  <strong>radius_create_request()</strong>.
  
  Attention: You must call this function, before you can put any attribute!

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  
  <info>int</info>       <strong>$type</strong>           Type is <info>RADIUS_ACCESS_REQUEST</info> or <info>RADIUS_ACCOUNTING_REQUEST</info>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_send_request()</strong>


id: radius_cvt_addr
type: function
doc:
<comment>Description:</comment>
  Converts raw data to IP-Address
  
  Converts raw data to IP-Address

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Input data

<comment>Return:</comment>
  <info>string</info>  Returns the IP-Address.

<comment>See Also:</comment>
   * <strong>radius_cvt_int()</strong>
   * <strong>radius_cvt_string()</strong>


id: radius_cvt_int
type: function
doc:
<comment>Description:</comment>
  Converts raw data to integer
  
  Converts raw data to integer

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Input data

<comment>Return:</comment>
  <info>int</info>  Returns the integer, retrieved from data.

<comment>See Also:</comment>
   * <strong>radius_cvt_addr()</strong>
   * <strong>radius_cvt_string()</strong>


id: radius_cvt_string
type: function
doc:
<comment>Description:</comment>
  Converts raw data to string
  
  Converts raw data to string

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Input data

<comment>Return:</comment>
  <info>string</info>  Returns the string, retrieved from data.

<comment>See Also:</comment>
   * <strong>radius_cvt_addr()</strong>
   * <strong>radius_cvt_int()</strong>


id: radius_demangle
type: function
doc:
<comment>Description:</comment>
  Demangles data
  
  Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled
  before you can use them.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>string</info>    <strong>$mangled</strong>        The mangled data to demangle

<comment>Return:</comment>
  <info>string</info>  Returns the demangled string, or <info>false</info> on error.


id: radius_demangle_mppe_key
type: function
doc:
<comment>Description:</comment>
  Derives mppe-keys from mangled data
  
  When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see RFC 2548), however this
  function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in
  PHP.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>string</info>    <strong>$mangled</strong>        The mangled data to demangle

<comment>Return:</comment>
  <info>string</info>  Returns the demangled string, or <info>false</info> on error.


id: radius_get_attr
type: function
doc:
<comment>Description:</comment>
  Extracts an attribute
  
  Like Radius requests, each response may contain zero or more attributes. After a response has been
  received successfully by <strong>radius_send_request()</strong>, its attributes can be extracted one by one using
  <strong>radius_get_attr()</strong>. Each time <strong>radius_get_attr()</strong> is called, it gets the next attribute from the
  current response.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.

<comment>Return:</comment>
  <info>mixed</info>  Returns an associative array containing the attribute-type and the data, or error number \<= 0.

<comment>See Also:</comment>
   * <strong>radius_put_attr()</strong>
   * <strong>radius_get_vendor_attr()</strong>
   * <strong>radius_put_vendor_attr()</strong>
   * <strong>radius_send_request()</strong>


id: radius_get_tagged_attr_data
type: function
doc:
<comment>Description:</comment>
  Extracts the data from a tagged attribute
  
  If a tagged attribute has been returned from <strong>radius_get_attr()</strong>, <strong>radius_get_tagged_attr_data()</strong> will
  return the data from the attribute.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The tagged attribute to be decoded.

<comment>Return:</comment>
  <info>string|false</info>  Returns the data from the tagged attribute  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_get_attr()</strong>
   * <strong>radius_get_tagged_attr_tag()</strong>


id: radius_get_tagged_attr_tag
type: function
doc:
<comment>Description:</comment>
  Extracts the tag from a tagged attribute
  
  If a tagged attribute has been returned from <strong>radius_get_attr()</strong>, <strong>radius_get_tagged_attr_data()</strong> will
  return the tag from the attribute.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The tagged attribute to be decoded.

<comment>Return:</comment>
  <info>int|false</info>  Returns the tag from the tagged attribute  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_get_attr()</strong>
   * <strong>radius_get_tagged_attr_data()</strong>


id: radius_get_vendor_attr
type: function
doc:
<comment>Description:</comment>
  Extracts a vendor specific attribute
  
  If <strong>radius_get_attr()</strong> returns <info>RADIUS_VENDOR_SPECIFIC</info>, <strong>radius_get_vendor_attr()</strong> may be called to
  determine the vendor.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Input data

<comment>Return:</comment>
  <info>array</info>  Returns an associative array containing the attribute-type, vendor and the data, or <info>false</info>
         on error.

<comment>See Also:</comment>
   * <strong>radius_get_attr()</strong>
   * <strong>radius_put_vendor_attr()</strong>


id: radius_put_addr
type: function
doc:
<comment>Description:</comment>
  Attaches an IP address attribute
  
  Attaches an IP address attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$addr</strong>           An IPv4 address in string form, such as <return>10.0.0.1</return>.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: radius_put_attr
type: function
doc:
<comment>Description:</comment>
  Attaches a binary attribute
  
  Attaches a binary attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$value</strong>          The attribute value, which will be treated as a raw binary string.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_get_attr()</strong>
   * <strong>radius_get_vendor_attr()</strong>
   * <strong>radius_put_vendor_attr()</strong>


id: radius_put_int
type: function
doc:
<comment>Description:</comment>
  Attaches an integer attribute
  
  Attaches an integer attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>int</info>       <strong>$value</strong>          The attribute value.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_put_string()</strong>
   * <strong>radius_put_vendor_int()</strong>
   * <strong>radius_put_vendor_string()</strong>


id: radius_put_string
type: function
doc:
<comment>Description:</comment>
  Attaches a string attribute
  
  Attaches a string attribute to the current RADIUS request. In general, <strong>radius_put_attr()</strong> is a more
  useful function for attaching string attributes, as it is binary safe.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$value</strong>          The attribute value. This value is expected by the underlying library to
                            be null terminated, therefore this parameter is not binary safe.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_put_int()</strong>
   * <strong>radius_put_vendor_int()</strong>
   * <strong>radius_put_vendor_string()</strong>


id: radius_put_vendor_addr
type: function
doc:
<comment>Description:</comment>
  Attaches a vendor specific IP address attribute
  
  Attaches an IP address vendor specific attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$vendor</strong>         El ID del vendedor.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$addr</strong>           An IPv4 address in string form, such as <return>10.0.0.1</return>.
  <info></info>          <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info></info>          <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: radius_put_vendor_attr
type: function
doc:
<comment>Description:</comment>
  Attaches a vendor specific binary attribute
  
  Attaches a vendor specific binary attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$vendor</strong>         El ID del vendedor.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$value</strong>          The attribute value, which will be treated as a raw binary string.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_get_vendor_attr()</strong>


id: radius_put_vendor_int
type: function
doc:
<comment>Description:</comment>
  Attaches a vendor specific integer attribute
  
  Attaches a vendor specific integer attribute to the current RADIUS request.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$vendor</strong>         El ID del vendedor.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>int</info>       <strong>$value</strong>          The attribute value.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_put_vendor_string()</strong>


id: radius_put_vendor_string
type: function
doc:
<comment>Description:</comment>
  Attaches a vendor specific string attribute
  
  Attaches a vendor specific string attribute to the current RADIUS request. In general,
  <strong>radius_put_vendor_attr()</strong> is a more useful function for attaching string attributes, as it is
  binary safe.
  
  Se debe crear una solicitud mediante <strong>radius_create_request()</strong> antes de llamar a esta función.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.
  <info>int</info>       <strong>$vendor</strong>         El ID del vendedor.
  <info>int</info>       <strong>$type</strong>           El tipo de atributo.
  <info>string</info>    <strong>$value</strong>          The attribute value. This value is expected by the underlying library to
                            be null terminated, therefore this parameter is not binary safe.
  <info>int</info>       <strong>$options</strong>        Una máscara de bits de las opciones de atributo. Las opciones
                            disponibles incluyen <info>RADIUS_OPTION_TAGGED</info> y <info>RADIUS_OPTION_SALT</info>.
  <info>int</info>       <strong>$tag</strong>            LA etiqueta de atributo. Este parámetro es ignorado a menos que la
                            opción <info>RADIUS_OPTION_TAGGED</info> esté establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_put_vendor_int()</strong>


id: radius_request_authenticator
type: function
doc:
<comment>Description:</comment>
  Returns the request authenticator
  
  The request authenticator is needed for demangling mangled data like passwords and
  encryption-keys.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.

<comment>Return:</comment>
  <info>string</info>  Returns the request authenticator as string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>radius_demangle()</strong>


id: radius_salt_encrypt_attr
type: function
doc:
<comment>Description:</comment>
  Salt-encrypts a value
  
  Applies the RADIUS salt-encryption algorithm to the given value.
  
  In general, this is achieved automatically by providing the <info>RADIUS_OPTION_SALT</info> option to an
  attribute setter function, but this function can be used if low-level request construction is
  required.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The data to be salt-encrypted.

<comment>Return:</comment>
  <info>string|false</info>  Returns the salt-encrypted data  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>radius_put_addr()</strong>
   * <strong>radius_put_attr()</strong>
   * <strong>radius_put_int()</strong>
   * <strong>radius_put_string()</strong>


id: radius_send_request
type: function
doc:
<comment>Description:</comment>
  Sends the request and waits for a reply
  
  After the Radius request has been constructed, it is sent by <strong>radius_send_request()</strong>.
  
  The <strong>radius_send_request()</strong> function sends the request and waits for a valid reply, retrying the
  defined servers in round-robin fashion as necessary.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.

<comment>Return:</comment>
  <info>int</info>  If a valid response is received, <strong>radius_send_request()</strong> returns the Radius code which
       specifies the type of the response. This will typically be <info>RADIUS_ACCESS_ACCEPT</info>,
       <info>RADIUS_ACCESS_REJECT</info>, or <info>RADIUS_ACCESS_CHALLENGE</info>. If no valid response is received,
       <strong>radius_send_request()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>radius_create_request()</strong>


id: radius_server_secret
type: function
doc:
<comment>Description:</comment>
  Returns the shared secret
  
  The shared secret is needed as salt for demangling mangled data like passwords and
  encryption-keys.

<comment>Param:</comment>
  <info>resource</info>  <strong>$radius_handle</strong>  El recurso RADIUS.

<comment>Return:</comment>
  <info>string</info>  Returns the server's shared secret as string, or <info>false</info> on error.


id: radius_strerror
type: function
doc:
<comment>Description:</comment>
  Devuelve un mensaje de error
  
  Si las funciones radio fallan entonces guardan un mensaje de error. Este mensaje de error  puede
  ser obtenido con esta función.

<comment>Return:</comment>
  <info>string</info>  Devuelve mensajes de error como string de funciones radio fallidas.


id: rand
type: function
doc:
<comment>Description:</comment>
  Generate a random integer
  
  If called without the optional <strong>$min</strong>, <strong>$max</strong> arguments <strong>rand()</strong> returns a pseudo-random integer between
  0 and <strong>getrandmax()</strong>.  If you want a random number between 5 and 15 (inclusive), for example, use
  <return>rand(5, 15)</return>.
  
  Esta función no
  genera valores criptográficos fiables por lo que no debería empelarse para propósitos
  criptográficos. Si fuera necesario
  un valor criptográfico seguro, considérese utilizar <strong>random_int()</strong>, <strong>random_bytes()</strong>, o
  <strong>openssl_random_pseudo_bytes()</strong> en su lugar.
  
  On some platforms (such as Windows), <strong>getrandmax()</strong> is only 32767.  If you require a range larger
  than 32767, specifying <strong>$min</strong> and <strong>$max</strong> will allow you to create a range larger than this, or
  consider using <strong>mt_rand()</strong> instead.
  
  As of PHP 7.1.0, <strong>rand()</strong> uses the same random number generator as <strong>mt_rand()</strong>. To preserve backwards
  compatibility <strong>rand()</strong> allows <strong>$max</strong> to be smaller than <strong>$min</strong> as opposed to returning <info>false</info> as
  <strong>mt_rand()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$min</strong>  The lowest value to return (default: 0)
  <info>int</info>  <strong>$max</strong>  The highest value to return (default: <strong>getrandmax()</strong>)

<comment>Return:</comment>
  <info>int</info>  A pseudo random value between <strong>$min</strong> (or 0) and <strong>$max</strong> (or <strong>getrandmax()</strong>, inclusive).

<comment>See Also:</comment>
   * <strong>srand()</strong>
   * <strong>getrandmax()</strong>
   * <strong>mt_rand()</strong>
   * <strong>random_int()</strong>
   * <strong>random_bytes()</strong>


id: random_bytes
type: function
doc:
<comment>Description:</comment>
  Get cryptographically secure random bytes
  
  Generates a string containing uniformly selected random bytes with the requested <strong>$length</strong>.
  
  As the returned bytes are selected completely randomly, the resulting string is likely to contain
  unprintable characters or invalid UTF-8 sequences. It may be necessary to encode it before
  transmission or display.
  
  The randomness generated by this function is suitable for all applications, including the
  generation of long-term secrets, such as encryption keys.
  
  Las fuentes de aleatoriedad empleadas por esta función son las siguientes:
  
  En Windows, se utilizará siempre <strong>CryptGenRandom()</strong>. A partir de PHP 7.2.0, se usará siempre
  CNG-API.
  
  En Linux, se utilizará la llamada al sistema getrandom(2) si está disponible.
  
  En otras plataformas, se utilizará /dev/urandom.
  
  Si no están disponibles ninguna de las fuentes citadas anteriormente, se lanzará una <class>Exception</class>.
  
  Aunque esta función se añadió a PHP en PHP 7.0, hay disponible una implementación de espacio de
  usuario para PHP 5.2 hasta 5.6, inclusive.

<comment>Param:</comment>
  <info>int</info>  <strong>$length</strong>  The length of the random string that should be returned in bytes; must be <return>1</return> or
                greater.

<comment>Return:</comment>
  <info>string</info>  A string containing the requested number of cryptographically secure random bytes.

<comment>See Also:</comment>
   * <strong>Random\Randomizer::getBytes()</strong>
   * <strong>random_int()</strong>
   * <strong>bin2hex()</strong>
   * <strong>base64_encode()</strong>


id: random_int
type: function
doc:
<comment>Description:</comment>
  Get a cryptographically secure, uniformly selected integer
  
  Generates a uniformly selected integer between the given minimum and maximum.
  
  The randomness generated by this function is suitable for all applications, including the
  generation of long-term secrets, such as encryption keys.
  
  Las fuentes de aleatoriedad empleadas por esta función son las siguientes:
  
  En Windows, se utilizará siempre <strong>CryptGenRandom()</strong>. A partir de PHP 7.2.0, se usará siempre
  CNG-API.
  
  En Linux, se utilizará la llamada al sistema getrandom(2) si está disponible.
  
  En otras plataformas, se utilizará /dev/urandom.
  
  Si no están disponibles ninguna de las fuentes citadas anteriormente, se lanzará una <class>Exception</class>.
  
  Aunque esta función se añadió a PHP en PHP 7.0, hay disponible una implementación de espacio de
  usuario para PHP 5.2 hasta 5.6, inclusive.

<comment>Param:</comment>
  <info>int</info>  <strong>$min</strong>  The lowest value to be returned.
  <info>int</info>  <strong>$max</strong>  The highest value to be returned.

<comment>Return:</comment>
  <info>int</info>  A cryptographically secure, uniformly selected integer from the closed interval [<strong>$min</strong>, <strong>$max</strong>].
       Both <strong>$min</strong> and <strong>$max</strong> are possible return values.

<comment>See Also:</comment>
   * Random\Randomizer::getInt
   * <strong>random_bytes()</strong>


id: range
type: function
doc:
<comment>Description:</comment>
  Crear un array que contiene un rango de elementos
  
  Crea un array que contiene un rango de elementos.

<comment>Param:</comment>
  <info>mixed</info>   <strong>$start</strong>  Primer valor de la secuencia.
  <info>mixed</info>   <strong>$end</strong>    La secuencia finaliza al alcanzar el valor <strong>$end</strong>.
  <info>number</info>  <strong>$step</strong>   Si se proporciona un valor a <strong>$step</strong>, este será usado como el incremento entre los
                  elementos de la secuencia. <strong>$step</strong> debería darse como número positivo. Si no se
                  especifica, el valor predeterminado de <strong>$step</strong> será 1.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array de elementos desde <strong>$start</strong> a <strong>$end</strong>, inclusive.

<comment>See Also:</comment>
   * <strong>shuffle()</strong>
   * <strong>array_fill()</strong>
   * foreach


id: rar_wrapper_cache_stats
type: function
doc:
<comment>Description:</comment>
  Caché de aciertos y errores del URL wrapper
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  


id: rawurldecode
type: function
doc:
<comment>Description:</comment>
  Decodificar cadenas codificadas estilo URL
  
  Devuelve una cadena en donde las con secuencias con signos de porcentaje (<return>%</return>) seguidos de dos
  dígitos hexadecimales, son reemplazados con caracteres literales.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  La URL a ser decodificada.

<comment>Return:</comment>
  <info>string</info>  Devuelve la URL decodificada, como una cadena.

<comment>See Also:</comment>
   * <strong>rawurlencode()</strong>
   * <strong>urldecode()</strong>
   * <strong>urlencode()</strong>
   * RFC 3986


id: rawurlencode
type: function
doc:
<comment>Description:</comment>
  Codificar estilo URL de acuerdo al RFC 3986
  
  Codifica la cadena dada de acuerdo al RFC 3986.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  La URL a ser codificada.

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena en donde todos los caracteres no-alfanuméricos, excepto <return>-_.~</return>, son
          reemplazados con un signo de porcentaje (<return>%</return>) seguido de dos dígitos hexadecimales. Este es
          el tipo de codificación descrito en el RFC 3986 para evitar que caracteres literales sean
          interpretados como delimitadores de URL especiales, y para evitar que las URLs sean
          modificadas por medios de transmisión con conversiones de caracteres (como algunos
          sistemas de correo electrónico).  Anterior a PHP 5.3.0, rawurlencode codificaba las tildes
          (<return>~</return>) usando RFC 1738.
          
          Anterior a PHP 5.3.0, rawurlencode codificaba las tildes (<return>~</return>) usando RFC 1738.

<comment>See Also:</comment>
   * <strong>rawurldecode()</strong>
   * <strong>urldecode()</strong>
   * <strong>urlencode()</strong>
   * RFC 3986


id: read_exif_data
type: function
doc:
<comment>Description:</comment>
  Alias de exif_read_data
  
  Esta función es un alias de:  <strong>exif_read_data()</strong>.


id: readdir
type: function
doc:
<comment>Description:</comment>
  Lee una entrada desde un gestor de directorio
  
  Devuelve el nombre de la siguiente entrada del directorio. Las entradas son devueltas en el orden
  en que fueron almacenadas por el sistema de ficheros.

<comment>Param:</comment>
  <info></info>  <strong>$gestor_dir</strong>  El gestor de directorio <info>resource</info> previamente abierto por <strong>opendir()</strong>. Si el gestor de
                 directorio no se especifica, la ultima conexión abierta por <strong>opendir()</strong>  es asumida.

<comment>Return:</comment>
  <info>string</info>  Retorna el nombre de la entrada en caso de éxito  o <info>false</info> en caso de error.
          
          Esta función puede
          devolver el valor booleano <info>false</info>, pero también puede devolver un valor no booleano que se
          evalúa como <info>false</info>. Por favor lea la sección sobre Booleanos para más
          información. Use el operador
          === para comprobar el valor devuelto por esta
          función.

<comment>See Also:</comment>
   * <strong>is_dir()</strong>
   * <strong>glob()</strong>
   * <strong>opendir()</strong>
   * <strong>scandir()</strong>


id: readfile
type: function
doc:
<comment>Description:</comment>
  Realizar la salida de un fichero
  
  Lee un fichero y lo escribe en el búfer de salida.

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>          El nombre del fichero a leer.
  <info>bool</info>      <strong>$use_include_path</strong>  Se puede emplear el segundo parámetro opcional y establecerlo a <info>true</info>
                               si se desea buscar también el fichero en include_path.
  <info>resource</info>  <strong>$context</strong>           Un <info>resource</info> de flujos de contexto.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de bytes leídos del fichero. Si se produjo un error, devuelve <info>false</info> y, a
       menos que la función fuese llamada como @<strong>readfile()</strong>, se imprime un mensaje de error.

<comment>See Also:</comment>
   * <strong>fpassthru()</strong>
   * <strong>file()</strong>
   * <strong>fopen()</strong>
   * <strong>include()</strong>
   * <strong>require()</strong>
   * <strong>virtual()</strong>
   * <strong>file_get_contents()</strong>
   * 


id: readgzfile
type: function
doc:
<comment>Description:</comment>
  Muestra un archivo gz
  
  Lee un archivo, lo descomprime y lo escribe en la salida estándar.
  
  La función <strong>readgzfile()</strong> puede ser usada para leer un archivo que no esté en formato gzip; en éste
  caso <strong>readgzfile()</strong> leerá directamente el archivo sin hacer la descompresión.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>          El nombre del archivo. Este archivo será abierto del sistema de
                             archivos y sus contenidos escritos en la salida estándar.
  <info>int</info>     <strong>$use_include_path</strong>  Se puede especificar éste parámetro opcional en <return>1</return>, si también se desea
                             buscar el archivo en la ruta include_path.

<comment>Return:</comment>
  <info>int|false</info>  Devuelve el número de bytes (sin comprimir) leídos del archivo en caso de éxito, o
             <info>false</info> en caso de error

<comment>See Also:</comment>
   * <strong>gzpassthru()</strong>
   * <strong>gzfile()</strong>
   * <strong>gzopen()</strong>


id: readline
type: function
doc:
<comment>Description:</comment>
  Lee una línea
  
  Lee una sola línea del usuario. Debe agregar esta línea al historial utilizando
  <strong>readline_add_history()</strong>.

<comment>Param:</comment>
  <info></info>  <strong>$mensaje</strong>  Puedes especificar un mensaje que se muestra al usuario.

<comment>Return:</comment>
  <info>string</info>  Devuelve un único string del usuario. Esta línea retornada tiene el avance de línea al
          final eliminado.


id: readline_add_history
type: function
doc:
<comment>Description:</comment>
  Agrega una línea a la historia
  
  Esta función agrega una línea a la historia de la línea de comandos.

<comment>Param:</comment>
  <info>string</info>  <strong>$line</strong>  La línea a ser agregada en la historia.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: readline_callback_handler_install
type: function
doc:
<comment>Description:</comment>
  Inicializa la interfaz de llamada de readline y la terminal, imprime el mensaje y retorna
  inmediatamente
  
  Ejemplo de interfaz de llamada readline 10) { $prompting = false;
  readline_callback_handler_remove(); } else { readline_callback_handler_install("[$c] Ingresa algo:
  ", 'rl_callback'); }
  }
  
  $c = 1;
  $prompting = true;
  
  readline_callback_handler_install("[$c] Ingresa algo: ", 'rl_callback');
  
  while ($prompting) { $w = NULL; $e = NULL; $n = stream_select($r = array(STDIN), $w, $e, null); if
  ($n && in_array(STDIN, $r)) { // lee un carácter, llama a la funcion cuando una nueva línea es
  ingresada readline_callback_read_char(); }
  }
  
  echo "Mensaje deshabilitado. Todo hecho.\n";
  ?>
  ]]>

<comment>Param:</comment>
  <info></info>  <strong>$mensaje</strong>  El mensaje a imprimir.
  <info></info>  <strong>$funcion</strong>  La función <strong>$funcion</strong> recibe un parámetro; la entrada del usuario retornada.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>readline_callback_handler_remove()</strong>
   * <strong>readline_callback_read_char()</strong>
   * <strong>stream_select()</strong>


id: readline_callback_handler_remove
type: function
doc:
<comment>Description:</comment>
  Elimina una interfaz de llamada anteriormente agregada y retaura la configuración de terminal
  
  Elimina una interfaz de llamada configurada anteriormente y restaura la configuración de terminal.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> si una interfaz de llamada instalada anteriormente fue eliminada, o <info>false</info> si no
        pudo hallarse una.

<comment>See Also:</comment>
   * <strong>readline_callback_handler_install()</strong>
   * <strong>readline_callback_read_char()</strong>


id: readline_callback_read_char
type: function
doc:
<comment>Description:</comment>
  Lee un carácter e informa a la interfaz de llamada de readline cuando una línea es recibida
  
  Lee un carácter del usuario. Cuando una línea es recibida, esta función informa a la interfaz de
  llamada de readline utilizando <strong>readline_callback_handler_install()</strong>, especificando así que hay una
  línea lista como entrada.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>readline_callback_handler_install()</strong>
   * <strong>readline_callback_handler_remove()</strong>


id: readline_clear_history
type: function
doc:
<comment>Description:</comment>
  Limpia el historial
  
  Esta función limpia completamente el historial de línea de comandos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: readline_completion_function
type: function
doc:
<comment>Description:</comment>
  Registra una función de autocompletado
  
  Esta función reistra una función para ser utilizada para autocompletar comandos. Es la misma
  funcionalidad que obtendrías si presionas la tecla Tab mientras escribes un comando en Bash.

<comment>Param:</comment>
  <info></info>  <strong>$funcion</strong>  El nombre de una función que acepta una línea de comandos parcial y devuelve un array
              con las entradas coincidentes.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: readline_info
type: function
doc:
<comment>Description:</comment>
  Obtiene/Modifica variables internas a readline
  
  Obtiene o modifica numerosas variables internas de readline.

<comment>Param:</comment>
  <info></info>  <strong>$variable</strong>  Un nombre de variable.
  <info></info>  <strong>$valor</strong>     Si se especifica, este será el nuevo valor de la variable.

<comment>Return:</comment>
  <info>mixed</info>  Si esta función es llamada sin parámetros, retornará un array de valores para todos los
         usos de readline. Los elementos estarán indexados por los siguientes valores: done, end,
         erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt,
         readline_name, y terminal_name.
         
         Si es llamado por uno o dos parámetros, el valor anterior de la variable es retornado.


id: readline_list_history
type: function
doc:
<comment>Description:</comment>
  Obtener el historial
  
  Obtiene el historial completo de comandos.

<comment>Return:</comment>
  <info>array</info>  Retorna un array correspondiente al historial completo de la línea de comandos. Los
         elementos son indexados por enteros, comenzando desde cero.


id: readline_on_new_line
type: function
doc:
<comment>Description:</comment>
  Informar a readline que el cursor se ha movido a una nueva línea
  
  Le informa a readline que el cursor se ha movido a una nueva línea.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: readline_read_history
type: function
doc:
<comment>Description:</comment>
  Lee el historial
  
  Esta función lee el historial de comandos desde un archivo.

<comment>Param:</comment>
  <info></info>  <strong>$archivo</strong>  Ubicación del archivo que contiene el historial de comandos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: readline_redisplay
type: function
doc:
<comment>Description:</comment>
  Redibuja la vista
  
  Redibuja readline para volver a dibujar la vista.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: readline_write_history
type: function
doc:
<comment>Description:</comment>
  Escribe el historial
  
  Esta función escribe el historial de comandos en un archivo.

<comment>Param:</comment>
  <info></info>  <strong>$archivo</strong>  Ubicación del archivo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: readlink
type: function
doc:
<comment>Description:</comment>
  Devuelve el objetivo de un enlace simbólico
  
  <strong>readlink()</strong> hace lo mismo que la función readlink de C.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  La ruta del enlace simbólico.

<comment>Return:</comment>
  <info>string</info>  Devuelve el contenido de la ruta del enlace simbólico o <info>false</info> si se produjo un error.

<comment>See Also:</comment>
   * <strong>is_link()</strong>
   * <strong>symlink()</strong>
   * <strong>linkinfo()</strong>


id: realpath
type: function
doc:
<comment>Description:</comment>
  Devuelve el nombre de la ruta absoluta canonizado
  
  <strong>realpath()</strong> expande todos los enlaces simbólicos y resuelve las referencias de caracteres '/./',
  '/../' y '/' extra, en la ruta de entrada dada por <strong>$path</strong> y devuelve el nombre de la ruta absoluta
  canonizado.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  La ruta que va a ser comprobada.  Aunque se debe proporcionar una ruta, el valor
                 puede estar en blanco o ser <info>null</info>. En estos casos, el valor es interpretado como el
                 directorio actual.
                 
                 Aunque se debe proporcionar una ruta, el valor puede estar en blanco o ser <info>null</info>. En
                 estos casos, el valor es interpretado como el directorio actual.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre de la ruta absoluta canonizado en caso de éxito. La ruta resultante no
          tendrá componentes de enlaces simbólicos, '/./' o '/../'. Los delimitadores finales, como
          \ y /, también son eliminados.
          
          <strong>realpath()</strong> devuelve <info>false</info> en caso de error, p.ej. si el fichero no existe.
          
          El script en ejecución debe tener permisios de ejecución en todos los directorios de la
          jerarquía, de lo contrario <strong>realpath()</strong> devolverá <info>false</info>.
          
          Para sistema de ficheros que no tengan en cuenta las mayúsculas/minúsculas, <strong>realpath()</strong>
          podría o no normalizar las mayúsculas/minúsculas de cada carácter.
          
          Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32
          bits,
          algunas funciones de sistema de ficheros pueden devolver resultados inesperados para
          ficheros que
          son mayores de 2 GB.

<comment>See Also:</comment>
   * <strong>basename()</strong>
   * <strong>dirname()</strong>
   * <strong>pathinfo()</strong>


id: realpath_cache_get
type: function
doc:
<comment>Description:</comment>
  Obtiene las entradas de la caché de la ruta real
  
  Obtiene el contenido de la caché de la ruta real.

<comment>Return:</comment>
  <info>array</info>  Devuelve una matriz de las entradas de la caché de la ruta real. Las claves son entradas de
         la ruta real original, y los valores son matrices de elementos de información, conteniendo
         la ruta resuelta, fecha de caducidad y otras opciones guardadas en la caché.

<comment>See Also:</comment>
   * <strong>realpath_cache_size()</strong>


id: realpath_cache_size
type: function
doc:
<comment>Description:</comment>
  Obtiene el tamaño de la caché de la ruta real
  
  Obtiene la cantidad de memoria usada por la caché de la ruta real.

<comment>Return:</comment>
  <info>int</info>  Devuelve la cantidad de memoria que la caché de la ruta real está usando.

<comment>See Also:</comment>
   * <strong>realpath_cache_get()</strong>
   * 
     La opción de configuración
     realpath_cache_size
    


id: recode
type: function
doc:
<comment>Description:</comment>
  Alias de recode_string
  
  Esta función es un alias de:  <strong>recode_string()</strong>.


id: recode_file
type: function
doc:
<comment>Description:</comment>
  Recodificar de fichero a fichero según la petición de recoficación
  
  Recodifica el fichero señalado por el gestor de ficheros <strong>$input</strong> al fichero señalado por el gestor
  de ficheros <strong>$output</strong> según la petición de recodificación dada por <strong>$request</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$request</strong>  El tipo de solicitud de recodificación deseada
  <info>resource</info>  <strong>$input</strong>    Un <info>resource</info> gestor de ficheros local para <strong>$input</strong>
  <info>resource</info>  <strong>$output</strong>   Un <info>resource</info> gestor de ficheros local para <strong>$output</strong>

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>false</info>, si no se puede cumplir, o de lo contrario <info>true</info>.

<comment>See Also:</comment>
   * <strong>fopen()</strong>


id: recode_string
type: function
doc:
<comment>Description:</comment>
  Recodifica un string según una petición de recodificación
  
  Recodifica el string <strong>$string</strong> según la petición de recodificación <strong>$request</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$request</strong>  El tipo de solicitud de recodificación deseada
  <info>string</info>  <strong>$string</strong>   El <info>string</info> a recodificar

<comment>Return:</comment>
  <info>string</info>  Devuelve el <info>string</info> recodificado o <info>false</info>, si no se pudo realizar la petición de
          recodificación.

<comment>See Also:</comment>
   * 
     La documentación de GNU Recode de la instalación para instrucciones
     detalladas sobre peticiones de recodificación.
    


id: register_shutdown_function
type: function
doc:
<comment>Description:</comment>
  Registrar una función para que sea ejecutada al cierre
  
  Registra una llamada de retorno dada por <strong>$callback</strong> para ser ejecutada después de que finalice la
  ejecución del script o se llame a <strong>exit()</strong>.
  
  Se pueden hacer múltiples llamadas a <strong>register_shutdown_function()</strong>, y cada una será llamada en el
  mismo orden en el que fueron registradas. Si se llama a <strong>exit()</strong> dentro de una función de cierre
  registrada, el procesamiento se detendrá completamente y no se llamarán a otras funciones de
  cierre registradas.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>   La llamada de retorno de cierre a registrar.
                        
                        Las llamadas de retorno de cierre se ejecutan como parte de una petición,
                        por lo que es posible enviar salidas desde ellas y acceder a los buffers de
                        salida.
  <info>mixed</info>     <strong>$parameter</strong>  Es posible pasar parámetros a la función de cierre pasando parámetros
                        adicionales.
  <info>mixed</info>     <strong>$...</strong>        

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * auto_append_file
   * <strong>exit()</strong>
   * La sección sobre manejo de conexiones


id: register_tick_function
type: function
doc:
<comment>Description:</comment>
  Registrar una función para que sea ejecutada en cada tick
  
  Registra la función dada por <strong>$function</strong> para ser ejecutada cuando se llame a un tick.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  El nombre de la función como cadena, o una matriz que consiste en un objeto y
                       un método.
  <info>mixed</info>     <strong>$arg</strong>       
  <info>mixed</info>     <strong>$...</strong>       

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * declare
   * <strong>unregister_tick_function()</strong>


id: rename
type: function
doc:
<comment>Description:</comment>
  Renombra un fichero o directorio
  
  Intenta renombrar <strong>$oldname</strong> a <strong>$newname</strong>, moviéndolo a otro directorio si fuera necesario. Si
  <strong>$newname</strong> existe, lo sobrescribirá.

<comment>Param:</comment>
  <info>string</info>    <strong>$oldname</strong>  El nombre antiguo. La envoltura usada en <strong>$oldname</strong> debe coincidir con la
                      envoltura usada en <strong>$newname</strong>.
  <info>string</info>    <strong>$newname</strong>  El nuevo nombre.
  <info>resource</info>  <strong>$context</strong>  Soporte para context fue
                      añadido en PHP 5.0.0. Para una descripción de <return>contexts</return>, refiérase a
                      .

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>copy()</strong>
   * <strong>unlink()</strong>
   * <strong>move_uploaded_file()</strong>


id: reset
type: function
doc:
<comment>Description:</comment>
  Establece el puntero interno de un array a su primer elemento
  
  <strong>reset()</strong> rebobina el puntero interno de un <strong>$array</strong> al primer elemento y devuelve el valor del primer
  elemento del array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  El array de entrada.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve el valor del primer elemento de un array o <info>false</info> si el array está vacío.

<comment>See Also:</comment>
   * <strong>current()</strong>
   * <strong>each()</strong>
   * <strong>end()</strong>
   * <strong>next()</strong>
   * <strong>prev()</strong>


id: restore_error_handler
type: function
doc:
<comment>Description:</comment>
  Recupera la función de gestión de errores previa
  
  Usada después de modificar la función de gestión de errores usando <strong>set_error_handler()</strong>, para
  revertir al gestor de errores previo (el cual puede ser el incorporado o una función definida por
  el usuario).

<comment>Return:</comment>
  <info>bool</info>  Esta función siempre devuelve <info>true</info>.

<comment>See Also:</comment>
   * <strong>error_reporting()</strong>
   * <strong>set_error_handler()</strong>
   * <strong>restore_exception_handler()</strong>
   * <strong>trigger_error()</strong>


id: restore_exception_handler
type: function
doc:
<comment>Description:</comment>
  Restaura la función de gestión de excepciones previamente definida
    
  
  Usada después de cambiar la función de gestión de excepciones al utilizar <strong>set_exception_handler()</strong>,
  para volver al gestor de excepciones anterior (el cuál puede ser la función interna o una definida
  por el usuario).

<comment>Return:</comment>
  <info>bool</info>  Esta función siempre devuelve <info>true</info>.

<comment>See Also:</comment>
   * <strong>set_exception_handler()</strong>
   * <strong>set_error_handler()</strong>
   * <strong>restore_error_handler()</strong>
   * <strong>error_reporting()</strong>


id: restore_include_path
type: function
doc:
<comment>Description:</comment>
  Restablece el valor de la opción de configuración include_path
  
  Restablece la opción de configuración include_path a su valor maestro original, tal y como se
  encuentre definido en php.ini

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>ini_restore()</strong>
   * <strong>get_include_path()</strong>
   * <strong>set_include_path()</strong>
   * <strong>include()</strong>


id: rewind
type: function
doc:
<comment>Description:</comment>
  Rebobina la posición de un puntero a un archivo
  
  Establece el indicador de posición de archivo de <strong>$handle</strong> al principio del flujo del archivo.
  
  Si ha abierto un archivo en modo de adición ("a" o "a+"), cualquier información que escriba en el
  archivo será siempre añadida, sin importar la posición del puntero del archivo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$handle</strong>  El puntero al archivo debe ser válido, y debe apuntar al archivo abierto con
                     éxito por <strong>fopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fseek()</strong>
   * <strong>ftell()</strong>
   * <strong>fwrite()</strong>


id: rewinddir
type: function
doc:
<comment>Description:</comment>
  Regresar el gestor de directorio
  
  Restablece la secuencia de directorio indicada por <strong>$gestor_dir</strong> al comienzo del directorio.

<comment>Param:</comment>
  <info></info>  <strong>$gestor_dir</strong>  El gestor de directorio tipo  <info>resource</info> abierto previamente con  <strong>opendir()</strong>.  Si el
                 gestor de directorio no se especifica, la ultima conexión abierta por <strong>opendir()</strong>  es
                 asumida.

<comment>Return:</comment>
  <info>void</info>  devuelve <info>null</info> en caso de éxito o <info>false</info> en caso de error.


id: rmdir
type: function
doc:
<comment>Description:</comment>
  Elimina un directorio
  
  Intenta eliminar el directorio nombrado por <strong>$directory</strong>. El directorio debe estar vacío, y los
  permisos relevantes deben permitirlo. Un error de nivel <info>E_WARNING</info> será generado si se produce un
  error.

<comment>Param:</comment>
  <info>string</info>    <strong>$directory</strong>  Ruta del directorio
  <info>resource</info>  <strong>$context</strong>    Soporte para context fue
                        añadido en PHP 5.0.0. Para una descripción de <return>contexts</return>, refiérase a
                        .

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>is_dir()</strong>
   * <strong>mkdir()</strong>
   * <strong>unlink()</strong>


id: rnp_backend_string
type: function
doc:
<comment>Description:</comment>
  Return cryptographic backend library name

<comment>Return:</comment>
  <info>string</info>  Backend name string. Currently supported backends are "Botan" and "OpenSSL".


id: rnp_backend_version
type: function
doc:
<comment>Description:</comment>
  Return cryptographic backend library version

<comment>Return:</comment>
  <info>string</info>  Version string.


id: rnp_decrypt
type: function
doc:
<comment>Description:</comment>
  Decrypt PGP message
  
  Private keys used for decryption should be loaded into the FFI object before calling this
  function. If password encryption was used, then password provider should be set by calling
  <strong>rnp_ffi_set_pass_provider()</strong>.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>    The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$input</strong>  Encrypted message.

<comment>Return:</comment>
  <info>string|false</info>  Decrypted message on success o <info>false</info> en caso de error.


id: rnp_dump_packets
type: function
doc:
<comment>Description:</comment>
  Dump OpenPGP packets stream information in humand-readable format

<comment>Param:</comment>
  <info>string</info>  <strong>$input</strong>  Input string containing OpenPGP data, either in binary or ASCII-armored format.
  <info>int</info>     <strong>$flags</strong>  See <info>RNP_DUMP_*</info> predefined constants.

<comment>Return:</comment>
  <info>string|false</info>  Text describing packet sequence o <info>false</info> en caso de error.


id: rnp_dump_packets_to_json
type: function
doc:
<comment>Description:</comment>
  Dump OpenPGP packets stream information to the JSON string

<comment>Param:</comment>
  <info>string</info>  <strong>$input</strong>  Input string containing OpenPGP data, either in binary or ASCII-armored format.
  <info>int</info>     <strong>$flags</strong>  See <info>RNP_JSON_DUMP_*</info> predefined constants.

<comment>Return:</comment>
  <info>string|false</info>  JSON string with dump o <info>false</info> en caso de error.


id: rnp_ffi_create
type: function
doc:
<comment>Description:</comment>
  Create the top-level object used for interacting with the library

<comment>Param:</comment>
  <info>string</info>  <strong>$pub_format</strong>  the format of the public keyring, RNP_KEYSTORE_GPG or other RNP_KEYSTORE_*
                       constant.
  <info>string</info>  <strong>$sec_format</strong>  the format of the secret keyring, RNP_KEYSTORE_GPG or other RNP_KEYSTORE_*
                       constant

<comment>Return:</comment>
  <info>RnpFFI|false</info>  Returns <info>RnpFFI</info> object on success o <info>false</info> en caso de error.


id: rnp_ffi_destroy
type: function
doc:
<comment>Description:</comment>
  Destroy the top-level object used for interacting with the library

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>  The FFI object returned by rnp_ffi_create.

<comment>Return:</comment>
  <info>void</info>  


id: rnp_ffi_set_pass_provider
type: function
doc:
<comment>Description:</comment>
  Set password provider callback function
  
  Sets password provider function. This function can ask for the password on a standard input (if
  PHP script is executed in a command line environment), display GUI dialog or provide password in
  any other possible ways. Requested passwords are used to encrypt or decrypt secret keys or perform
  symmetric encryption/decryption operations.

<comment>Param:</comment>
  <info>RnpFFI</info>    <strong>$ffi</strong>                The FFI object returned by rnp_ffi_create.
  <info>callable</info>  <strong>$password_callback</strong>  The function that is to be called for every password request.  It
                                has the following signature:
                                <info>bool</info>password_callback<info>string</info><strong>$key_fp</strong><info>string</info><strong>$pgp_context</strong><info>string</info>password</strong>
                                <return>$key_fp</return> - The key fingerprint, if any. Can be empty.<return>$pgp_context</return> -
                                String describing why the key is being requested.<return>$password</return> -
                                Password string reference where provided password should be stored
                                to. Callback function should return <info>true</info> if password was
                                successfully set o <info>false</info> en caso de error.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_import_keys
type: function
doc:
<comment>Description:</comment>
  Import keys from PHP string to the keyring and receive JSON describing new/updated keys

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>    The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$input</strong>  OpenPGP packets containing key(s) to be loaded. Can be either binary or ASCII
                  armored.
  <info>int</info>     <strong>$flags</strong>  See <info>RNP_LOAD_SAVE_*</info> predefined constants.

<comment>Return:</comment>
  <info>string|false</info>  JSON string with information about new and updated keys on success o <info>false</info> en caso
                de error.


id: rnp_import_signatures
type: function
doc:
<comment>Description:</comment>
  Import standalone signatures to the keyring and receive JSON describing updated keys

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>    The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$input</strong>  OpenPGP packets containing signatures to be imported. Can be either binary or
                  ASCII armored.
  <info>int</info>     <strong>$flags</strong>  Currently must be 0.

<comment>Return:</comment>
  <info>string|false</info>  JSON string with information about updated keys on success o <info>false</info> en caso de error.


id: rnp_key_export
type: function
doc:
<comment>Description:</comment>
  Export a key

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>     The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>  Key fingerprint.
  <info>int</info>     <strong>$flags</strong>   See <info>RNP_KEY_EXPORT_*</info> predefined constants (except <info>RNP_KEY_EXPORT_BASE64</info>).

<comment>Return:</comment>
  <info>string|false</info>  OpenPGP packets of exported key (binary or ASCII-armored) on success o <info>false</info> en caso
                de error.


id: rnp_key_export_autocrypt
type: function
doc:
<comment>Description:</comment>
  Export minimal key for autocrypt feature (just 5 packets: key, uid, signature,
     encryption subkey, signature)

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>        The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>     Primary key fingerprint.
  <info>string</info>  <strong>$subkey_fp</strong>  Subkey to export. Can be an empty string to pick the first suitable subkey.
  <info>string</info>  <strong>$uid</strong>        User ID to export. Can be an empty string if exported key has only one uid.
  <info>int</info>     <strong>$flags</strong>      Only <info>RNP_KEY_EXPORT_BASE64</info> is currently supported. Enabling it would export
                      base64-encoded key data instead of binary.

<comment>Return:</comment>
  <info>string|false</info>  OpenPGP packets of exported key on success o <info>false</info> en caso de error.


id: rnp_key_export_revocation
type: function
doc:
<comment>Description:</comment>
  Generate and export primary key revocation signature
  
  Note: to revoke a key you'll need to import this signature into the keystore or use
  <strong>rnp_key_revoke()</strong> function.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>   Key fingerprint of the primary key to be revoked.
  <info>int</info>     <strong>$flags</strong>    <info>RNP_KEY_EXPORT_ARMORED</info> or 0.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Exported revocation signature on success o <info>false</info> en caso de error.


id: rnp_key_get_info
type: function
doc:
<comment>Description:</comment>
  Get information about the key

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>     The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>  Key fingerprint.

<comment>Return:</comment>
  <info>array|false</info>  An associative array with information about the key o <info>false</info> en caso de error.


id: rnp_key_remove
type: function
doc:
<comment>Description:</comment>
  Remove a key from keyring(s)
  
  Note: you need to call <strong>rnp_save_keys()</strong> to write updated keyring(s) out.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>     The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>  Key fingerprint.
  <info>int</info>     <strong>$flags</strong>   See <info>RNP_KEY_REMOVE_*</info> constants. Flag <info>RNP_KEY_REMOVE_SUBKEYS</info> will work only for
                   the primary key and will remove all of its subkeys as well.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_key_revoke
type: function
doc:
<comment>Description:</comment>
  Revoke a key or subkey by generating and adding revocation signature
  
  Note: you need to call <strong>rnp_save_keys()</strong> to write updated keyring(s) out.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$key_fp</strong>   Key fingerprint.
  <info>int</info>     <strong>$flags</strong>    Currently must be 0.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_list_keys
type: function
doc:
<comment>Description:</comment>
  Enumerate all keys present in a keyring by specified identifer type

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>              The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$identifier_type</strong>  Key identifier type ("userid", "keyid", "grip", "fingerprint").

<comment>Return:</comment>
  <info>array|false</info>  An associative array where key is an identifier string and value is a PGP key
               fingerprint o <info>false</info> en caso de error.


id: rnp_load_keys
type: function
doc:
<comment>Description:</comment>
  Load keys from PHP string
  
  Note that for G10, the input must be a directory (which must already exist).

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>     The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$format</strong>  The key format of the data (GPG, KBX, G10).
  <info>string</info>  <strong>$input</strong>   OpenPGP packets containing key(s) to be loaded. Can be either binary or ASCII
                   armored.
  <info>int</info>     <strong>$flags</strong>   See RNP_LOAD_SAVE_* flags description.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_load_keys_from_path
type: function
doc:
<comment>Description:</comment>
  Load keys from specified path
  
  Note that for G10, the input must be a directory (which must already exist).

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>         The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$format</strong>      The key format of the data (GPG, KBX, G10).
  <info>string</info>  <strong>$input_path</strong>  file or directory containing the keys.
  <info>int</info>     <strong>$flags</strong>       See RNP_LOAD_SAVE_* flags description.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_locate_key
type: function
doc:
<comment>Description:</comment>
  Search for the key
  
  Note: only valid userids are checked while searching by userid.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>              The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$identifier_type</strong>  Identifier type string: "userid", "keyid", "fingerprint", "grip".
  <info>string</info>  <strong>$identifier</strong>       PGP User ID (name and email) for "userid" type, hexadecimal string that
                            represents key id, fingerprint or key grip correspondingly.

<comment>Return:</comment>
  <info>string|false</info>  Returns hexadecimal fingerprint of the key found on success o <info>false</info> en caso de
                error.


id: rnp_op_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt message

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>                The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$message</strong>            Message to be encrypted.
  <info>array</info>   <strong>$recipient_keys_fp</strong>  Array with fingerprints of recipient's keys. At least one key must be
                              present.
  <info>array</info>   <strong>$options</strong>            An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Encrypted data on success o <info>false</info> en caso de error.


id: rnp_op_generate_key
type: function
doc:
<comment>Description:</comment>
  Generate key

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$userid</strong>   PGP User ID - text that is intended to represent the name and email address of
                    the key holder.
  <info>string</info>  <strong>$key_alg</strong>  Primary key algorithm (i.e. 'RSA', 'DSA', etc).
  <info>string</info>  <strong>$sub_alg</strong>  Subkey algorithm. If not set, subkey will not be generated.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Fingerprint of the generated primary key o <info>false</info> en caso de error. This fingerprint
                can be used later to reference the key in sign and encrypt operations. The key data
                is stored in FFI memory context and can be saved using <strong>rnp_save_keys()</strong> or
                <strong>rnp_save_keys_to_path()</strong>.


id: rnp_op_sign
type: function
doc:
<comment>Description:</comment>
  Perform signing operation on a binary data, return embedded signature(s)

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$data</strong>     Data to be signed.
  <info>array</info>   <strong>$keys_fp</strong>  Array with key fingerprints. At least one key must be provided. Keys should be
                    present in <strong>$ffi</strong>.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Data with embedded signature(s) on success o <info>false</info> en caso de error.


id: rnp_op_sign_cleartext
type: function
doc:
<comment>Description:</comment>
  Perform signing operation on a textual data, return cleartext signed message

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$data</strong>     Data to be signed.
  <info>array</info>   <strong>$keys_fp</strong>  Array with key fingerprints. At least one key must be provided. Keys should be
                    present in <strong>$ffi</strong>.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Cleartext signed message containing source data with additional headers and
                ASCII-armored signature on success o <info>false</info> en caso de error.


id: rnp_op_sign_detached
type: function
doc:
<comment>Description:</comment>
  Perform signing operation, return detached signature(s)

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>      The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$data</strong>     Data to be signed.
  <info>array</info>   <strong>$keys_fp</strong>  Array with key fingerprints. At least one key must be provided. Keys should be
                    present in <strong>$ffi</strong>.
  <info>array</info>   <strong>$options</strong>  An associative array with options.

<comment>Return:</comment>
  <info>string|false</info>  Detached signature(s) data on success o <info>false</info> en caso de error.


id: rnp_op_verify
type: function
doc:
<comment>Description:</comment>
  Verify embedded or cleartext signatures

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>   The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$data</strong>  Signed data.

<comment>Return:</comment>
  <info>array|false</info>  An associative array with information about verification results o <info>false</info> en caso de
               error.
               
               "signatures" sub-array.


id: rnp_op_verify_detached
type: function
doc:
<comment>Description:</comment>
  Verify detached signatures

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>        The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$data</strong>       Source data.
  <info>string</info>  <strong>$signature</strong>  Detached signature data.

<comment>Return:</comment>
  <info>array|false</info>  An associative array with information about verification results o <info>false</info> en caso de
               error.
               
               "signatures" sub-array.


id: rnp_save_keys
type: function
doc:
<comment>Description:</comment>
  Save keys to PHP string
  
  Note that for G10, the output must be a directory (which must already exist).

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>     The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$format</strong>  The key format of the data (GPG, KBX, G10).
  <info>string</info>  <strong>$output</strong>  key packets will be saved to the string referenced by <strong>$output</strong>.
  <info>int</info>     <strong>$flags</strong>   See RNP_LOAD_SAVE_* flags description.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_save_keys_to_path
type: function
doc:
<comment>Description:</comment>
  Save keys to specified path
  
  Saves keys present in the FFI object (loaded or generated) to the specified file or directory.

<comment>Param:</comment>
  <info>RnpFFI</info>  <strong>$ffi</strong>          The FFI object returned by rnp_ffi_create.
  <info>string</info>  <strong>$format</strong>       The key format of the data (GPG, KBX, G10).
  <info>string</info>  <strong>$output_path</strong>  File or directory path where keys should be saved to.
  <info>int</info>     <strong>$flags</strong>        See RNP_LOAD_SAVE_* flags description.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success o <info>false</info> en caso de error.


id: rnp_supported_features
type: function
doc:
<comment>Description:</comment>
  Get supported features in JSON format
  
  Get the JSON formatted string containing array of supported rnp feature values (algorithms,
  curves, etc) by type.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>  See RNP_FEATURE_* constants for supported values.

<comment>Return:</comment>
  <info>string|false</info>  String containing JSON formatted array of supported algorithms, curves, etc o <info>false</info>
                en caso de error.


id: rnp_version_string
type: function
doc:
<comment>Description:</comment>
  RNP library version

<comment>Return:</comment>
  <info>string</info>  Returns RNP library version string.


id: rnp_version_string_full
type: function
doc:
<comment>Description:</comment>
  Full version string of RNP library

<comment>Return:</comment>
  <info>string</info>  Returns full version string of RNP library.


id: round
type: function
doc:
<comment>Description:</comment>
  Redondea un float
  
  Devuelve el valor redondeado de <strong>$val</strong> con la <strong>$precision</strong> especificada (número de dígitos desde el
  punto decimal). <strong>$precision</strong> puede también ser negativo o cero (valor predeterminado).
  
   PHP no maneja correctamente cadenas como <return>"12,300.2"</return> por defecto. Consulte  conversión desde
  cadenas.
  
  PHP no maneja correctamente cadenas como <return>"12,300.2"</return> por defecto. Consulte  conversión desde
  cadenas.

<comment>Param:</comment>
  <info>float</info>  <strong>$val</strong>        El valor a redondear
  <info>int</info>    <strong>$precision</strong>  Opcionalmente, el número de dígitos decimales a redondear.
  <info>int</info>    <strong>$mode</strong>       Use una de las siguientes constantes para especificar el modo de redondeo.
                     ConstanteDescripción<info>PHP_ROUND_HALF_UP</info> Redondea <strong>$val</strong> hacia arriba a <strong>$precision</strong>
                     lugares decimales alejándose de cero, cuando está a medio camino. Hace que 1.5
                     sea 2, y -1.5 sea -2. <info>PHP_ROUND_HALF_DOWN</info> Redondea <strong>$val</strong> hacia abajo a
                     <strong>$precision</strong> lugares decimales hacia cero, cuando está a medio camino. Hace que
                     1.5 sea 1, y -1.5 sea -1. <info>PHP_ROUND_HALF_EVEN</info> Redondea <strong>$val</strong> a <strong>$precision</strong>
                     lugares decimales hacia el siguiente valor par. <info>PHP_ROUND_HALF_ODD</info> Redondea
                     <strong>$val</strong> a <strong>$precision</strong> lugares decimales hacia el siguiente valor impar.

<comment>Return:</comment>
  <info>float</info>  El valor redondeado

<comment>See Also:</comment>
   * <strong>ceil()</strong>
   * <strong>floor()</strong>
   * <strong>number_format()</strong>


id: rpmaddtag
type: function
doc:
<comment>Description:</comment>
  Add tag retrieved in query
  
  Add an additional retrieved tag in subsequent queries.

<comment>Param:</comment>
  <info>int</info>  <strong>$tag</strong>  One of RPMTAG_* constant, see the rpminfo constants page.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>rpminfo()</strong>
   * <strong>rpmdbinfo()</strong>
   * <strong>rpmdbsearch()</strong>


id: rpmdbinfo
type: function
doc:
<comment>Description:</comment>
  Get information from installed RPM
  
  Retrieve information about an installed package, from the system RPM database.

<comment>Param:</comment>
  <info>string</info>  <strong>$nevr</strong>  Name with optional epoch, version and release.
  <info>bool</info>    <strong>$full</strong>  If <info>true</info> all information headers for the file are retrieved, else only a minimal
                 set.

<comment>Return:</comment>
  <info>array|null</info>  An <info>array</info> of <info>array</info> of information or NULL on error.

<comment>See Also:</comment>
   * <strong>rpmaddtag()</strong>


id: rpmdbsearch
type: function
doc:
<comment>Description:</comment>
  Search RPM packages
  
  Search packages in the system RPM database.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  Value to search for.
  <info>int</info>     <strong>$rpmtag</strong>   Search criterion, one of RPMTAG_* constant, see the rpminfo constants page.
  <info>int</info>     <strong>$rpmmire</strong>  Pattern type, one of RPMMIRE_* constant, see the rpminfo constants page. When
                    \< 0 the criterion must equals the value, and database index is used if possible.
  <info>bool</info>    <strong>$full</strong>     If <info>true</info> all information headers for the file are retrieved, else only a minimal
                    set.

<comment>Return:</comment>
  <info>array|null</info>  An <info>array</info> of <info>array</info> of information or NULL on error.

<comment>See Also:</comment>
   * <strong>rpmaddtag()</strong>


id: rpmgetsymlink
type: function
doc:
<comment>Description:</comment>
  Get target of a symlink
  
  Get target of a symlink.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  Path of the RPM file.
  <info>string</info>  <strong>$name</strong>  Name of the symlink file.

<comment>Return:</comment>
  <info>string|null</info>  A <info>string</info> with target of the symlink, NULL on error, or an empty string if not a
               symlink.


id: rpminfo
type: function
doc:
<comment>Description:</comment>
  Get information from a RPM file
  
  Retrieve information about a local file, a RPM package.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   Path of the RPM file.
  <info>bool</info>    <strong>$full</strong>   If <info>true</info> all information headers for the file are retrieved, else only a minimal
                  set.
  <info>string</info>  <strong>$error</strong>  If provided, will receive the possible error message, and will avoid a runtime
                  warning.

<comment>Return:</comment>
  <info>array|null</info>  An <info>array</info> of information or NULL on error.

<comment>See Also:</comment>
   * <strong>rpmaddtag()</strong>


id: rpmvercmp
type: function
doc:
<comment>Description:</comment>
  RPM version comparison
  
  Compare 2 RPM versions.

<comment>Param:</comment>
  <info>string</info>       <strong>$evr1</strong>      First epoch:version-release string
  <info>string</info>       <strong>$evr2</strong>      Second epoch:version-release string
  <info>string|null</info>  <strong>$operator</strong>  An optional operator. The possible operators are: <return>\<</return>, <return>lt</return>, <return>\<=</return>, <return>le</return>, <return>&gt;</return>, <return>gt</return>, <return>&gt;=</return>, <return>ge</return>, <return>==</return>, <return>=</return>, <return>eq</return>, <return>!=</return>, <return>\<&gt;</return>, <return>ne</return> respectively.
                          
                          This parameter is case-sensitive, values should be lowercase.

<comment>Return:</comment>
  <info>int|bool</info>  Returns
            \< 0 if evr1 is less than evr2, &gt; 0 if evr1 is greater than evr2, and 0 if they are equal.
            
            When using the optional <strong>$operator</strong> argument, the function will return <info>true</info> if the
            relationship is the one specified by the operator, <info>false</info> otherwise.


id: rrd_create
type: function
doc:
<comment>Description:</comment>
  Crea un archivo de base de datos rrd
  
  Crea el archivo de base de datos RDD.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Nombre de archivo para el nuevo archivo de base de datos rrd.
  <info>array</info>   <strong>$options</strong>   Opciones para la creación del archivo de base de datos rrd - lista de cadenas.
                     Ver página de manual de creación de archivos de base de datos rrd para obtener
                     una lista completa de opciones.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: rrd_error
type: function
doc:
<comment>Description:</comment>
  Obtener el último mensaje de error
  
  Devuelve el último mensaje de error global rrd.

<comment>Return:</comment>
  <info>string</info>  Último mensaje de error.


id: rrd_fetch
type: function
doc:
<comment>Description:</comment>
  Recuperar los datos de gráfico como un array
  
  Obtiene datos para la salida gráfica del archivo desde la base de datos RRD como un array. Esta
  función tiene el mismo resultado que <strong>rrd_graph()</strong>, pero los datos obtenidos son  devueltos como una
  matriz, no se crea el archivo de imagen.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Nombre de archivo de la base de datos RRD.
  <info>array</info>   <strong>$options</strong>   Array de opciones para la resolución solicitada.

<comment>Return:</comment>
  <info>array</info>  Devuelve información acerca de los datos del gráfico recuperados.


id: rrd_first
type: function
doc:
<comment>Description:</comment>
  Obtiene la marca de tiempo UNIX de la primera muestra desde el archivo rrd
  
  Devuelve la primera muestra de datos desde la especificada RRA del archivo RRD.

<comment>Param:</comment>
  <info>string</info>  <strong>$file</strong>      Nombre del archivo de la base de datos RRD.
  <info>int</info>     <strong>$raaindex</strong>  El índice numérico de la RRA que se va a examinar. El valor por defecto es 0.

<comment>Return:</comment>
  <info>int</info>  Número entero de marca de tiempo Unix, <info>false</info> Si se produce algún error.


id: rrd_graph
type: function
doc:
<comment>Description:</comment>
  Crea la imagen de un conjunto de datos
  
  Crea la imagen de un conjunto de datos particulares desde el archivo de RRD.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  El nombre del archivo de salida del gráfico. Este generalmente tiene una
                     terminación <return>.png</return>, <return>.svg</return> o <return>.eps</return>, dependiendo del formato de salida que desee.
  <info>array</info>   <strong>$options</strong>   Las opciones para la generación de la imagen. Consulte la página del manual de
                     gráficos rrd para conocer todas las posibles opciones. Todas las opciones
                     (definiciones de datos, definiciones de variables, etc.) son permitidas.

<comment>Return:</comment>
  <info>array</info>  Se devolverá un array con información acerca de la imagen generada, <info>false</info> cuando se
         produzca un error.


id: rrd_info
type: function
doc:
<comment>Description:</comment>
  Obtiene información sobre el archivo rrd
  
  Devuelve información acerca sobre determinado archivo de base de datos RRD.

<comment>Param:</comment>
  <info></info>  <strong>$file</strong>  Nombre del archivo de base de datos RRD.

<comment>Return:</comment>
  <info>array</info>  Array con información sobre el archivo RRD solicitado, <info>false</info> cuando ocurra un error.


id: rrd_last
type: function
doc:
<comment>Description:</comment>
  Obtiene la marca de tiempo UNIX de la última muestra
  
  Devuelve la marca de tiempo UNIX (UNIX timestamp) de la actualización más reciente de la base de
  datos RRD.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Nombre de archivo de la base de datos RRD.

<comment>Return:</comment>
  <info>int</info>  Devuelve un número entero como marca de tiempo Unix de los datos más recientes de la base de
       datos RRD.


id: rrd_lastupdate
type: function
doc:
<comment>Description:</comment>
  Obtiene información sobre los últimos datos actualizados
  
  Obtiene un array de la marca de tiempo UNIX y de los valores almacenados para cada fecha en la
  actualización  más reciente del archivo de base de datos RRD.

<comment>Param:</comment>
  <info></info>  <strong>$file</strong>  Nombre del archivo de la base de datos RRD.

<comment>Return:</comment>
  <info>array</info>  Array de información sobre la última actualización, <info>false</info> cuando ocurra un error.


id: rrd_restore
type: function
doc:
<comment>Description:</comment>
  Restaura el archivo RRD desde el XML dump
  
  Restaura el archivo RRD desde el XML dump.

<comment>Param:</comment>
  <info>string</info>  <strong>$xml_file</strong>  Nombre del archivo XML con el dump del archivo de la base de datos RRD
                     original.
  <info>string</info>  <strong>$rrd_file</strong>  Nombre del archivo de la base de datos RRD restaurada.
  <info>array</info>   <strong>$options</strong>   Array de opciones para la restauración. Consulte la página de manual de
                     restauración rrd.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, <info>false</info> en caso de error.


id: rrd_tune
type: function
doc:
<comment>Description:</comment>
  Cambia algunas opciones de cabecera del archivo de base de datos RRD database
  
  Cambia algunas opciones de cabecera del archivo de base de datos RRD. Por ejemplo, cambia el
  nombre de la fuente de los datos, etc

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Nombre de archivo de la base de datos RRD.
  <info>array</info>   <strong>$options</strong>   Opciones con las propiedades del archivo de la base de datos RDD que serán
                     cambiadas. Consulte la página  del manual rrd tune para mayor detalle.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, <info>false</info> en caso contrario.


id: rrd_update
type: function
doc:
<comment>Description:</comment>
  Actualizar la base de datos RRD
  
  Actualiza el archivo de base de datos RRD. Los datos de entrada es el tiempo interpolado de
  acuerdo con las propiedades del archivo de base de datos RRD.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Nombre de archivo de la base de datos RRD. Esta base de datos será actualizada.
  <info>array</info>   <strong>$options</strong>   Opciones para actualizar la base de datos RRD. Esta es una lista de cadenas.
                     Ver página del manual de actualización rrd para conocer el listado de opciones.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, <info>false</info> when error occurs.


id: rrd_version
type: function
doc:
<comment>Description:</comment>
  Obtiene información acerca de la biblioteca subyacente rrdtool
  
  Devuelve información acerca de la biblioteca subyacente rrdtool.

<comment>Return:</comment>
  <info>string</info>  String con el número de versión, por ejemplo, rrdtool "1.4.3".


id: rrd_xport
type: function
doc:
<comment>Description:</comment>
  Exporta la información acerca de la base de datos RRD
  
  Exporta la información sobre el archivo de base de datos RRD. Estos datos se pueden convertir a
  archivo XML a través del espacio de usuario PHP script y posteriormente restaurarlo de nuevo como
  un  archivo de base de datos RRD.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Array de opciones para la exportación, consulte la página del manual rrd xport.

<comment>Return:</comment>
  <info>array</info>  Array con información sobre el archivo de base de datos RRD, <info>false</info> cuando se produzca un
         error.


id: rrdc_disconnect
type: function
doc:
<comment>Description:</comment>
  Close any outstanding connection to rrd caching daemon
  
  Close any outstanding connection to rrd caching daemon.
  
  This function is automatically called when the whole PHP process is terminated. It depends on used
  SAPI. For example, it's called automatically at the end of command line script.
  
  It's up user whether he wants to call this function at the end of every request or otherwise.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: rsort
type: function
doc:
<comment>Description:</comment>
  Ordena un array en orden inverso
  
  Esta función ordena un array en orden inverso (mayor a menor).
  
  Si dos miembros se comparan como iguales, su orden relativo en el array oredenado será indefinido.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>       El array de entrada.
  <info>int</info>    <strong>$sort_flags</strong>  Quizá se necesita cambiar el comportamiento de ordenado usando el parámetro
                      opcional <strong>$sort_flags</strong>, para más información ver <strong>sort()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>arsort()</strong>
   * <strong>krsort()</strong>
   * comparación de funciones de orden de arrays


id: rtrim
type: function
doc:
<comment>Description:</comment>
  Retira los espacios en blanco (u otros caracteres) del final de un string
  
  Esta función devuelve un string con los espacios en blanco retirados del final de <strong>$str</strong>.
  
  Sin el segundo parámetro, <strong>rtrim()</strong> retirará estos caracteres:   " " (ASCII <return>32</return> (<return>0x20</return>)), un espacio
  ordinario.  "\t" (ASCII <return>9</return> (<return>0x09</return>)), un tabulador.  "\n" (ASCII <return>10</return> (<return>0x0A</return>)), una nueva línea (line
  feed).  "\r" (ASCII <return>13</return> (<return>0x0D</return>)), un retorno de carro.  "\0" (ASCII <return>0</return> (<return>0x00</return>)), el byte <return>NULL</return>.  "\x0B"
  (ASCII <return>11</return> (<return>0x0B</return>)), un tabulador vertical.
  
  " " (ASCII <return>32</return> (<return>0x20</return>)), un espacio ordinario.
  
  "\t" (ASCII <return>9</return> (<return>0x09</return>)), un tabulador.
  
  "\n" (ASCII <return>10</return> (<return>0x0A</return>)), una nueva línea (line feed).
  
  "\r" (ASCII <return>13</return> (<return>0x0D</return>)), un retorno de carro.
  
  "\0" (ASCII <return>0</return> (<return>0x00</return>)), el byte <return>NULL</return>.
  
   "\x0B" (ASCII <return>11</return> (<return>0x0B</return>)), un tabulador vertical.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>             El string de entrada.
  <info>string</info>  <strong>$character_mask</strong>  Se puede también especificar los caracteres que se desean retirar por
                           medio del parámetro <strong>$character_mask</strong>. Simplemente se listan todos los
                           caracteres que se quieren retirar. Con <return>..</return> se puede especificar un rango
                           de caracteres.

<comment>Return:</comment>
  <info>string</info>  Devuelve el string modificado.

<comment>See Also:</comment>
   * <strong>trim()</strong>
   * <strong>ltrim()</strong>


id: runkit7_object_id
type: function
doc:
<comment>Description:</comment>
  Return the integer object handle for given object
    
  
  This function is equivalent to <strong>spl_object_id()</strong>.
  
  This function returns a unique identifier for the object. The object id is unique for the lifetime
  of the object. Once the object is destroyed, its id may be reused for other objects. This behavior
  is similar to <strong>spl_object_hash()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$obj</strong>  Any object.

<comment>Return:</comment>
  <info>int</info>  An integer identifier that is unique for each currently existing object and is always the
       same for each object.

<comment>See Also:</comment>
   * <strong>spl_object_id()</strong>


id: runkit7_zval_inspect
type: function
doc:
<comment>Description:</comment>
  Returns information about the passed in value with data types, reference counts, etc

<comment>Param:</comment>
  <info>string</info>  <strong>$value</strong>  The value to return the representation of

<comment>Return:</comment>
  <info>array</info>  The array returned by this function contains the following elements: <return>address</return><return>refcount</return>
         (optional)<return>is_ref</return> (optional)<return>type</return>

<comment>See Also:</comment>
   * References Explained
   * References Explained (by Derick Rethans)


id: runkit_constant_add
type: function
doc:
<comment>Description:</comment>
  Similar a define(), excepto que también permite definir en definiciones de clase

<comment>Param:</comment>
  <info>string</info>  <strong>$constname</strong>  Nombre de la constante a declarar. Una cadena que indica la constante global,
                      o <return>nombreclase::constname</return> que indica la constante de clase.
  <info>mixed</info>   <strong>$value</strong>      Valor NULL, Bool, Long, Double, String, o Resource a almacenar en la nueva
                      constante.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>runkit_constant_redefine()</strong>
   * <strong>runkit_constant_remove()</strong>


id: runkit_constant_redefine
type: function
doc:
<comment>Description:</comment>
  Redefinir una constante ya definida

<comment>Param:</comment>
  <info>string</info>  <strong>$constname</strong>  Constante a redefinir. Una cadena que indica la constante global, o
                      <return>nombreclase::constname</return> que indica la constante de clase.
  <info>mixed</info>   <strong>$newvalue</strong>   El nuevo valor a asignar a la constante.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_constant_add()</strong>
   * <strong>runkit_constant_remove()</strong>


id: runkit_constant_remove
type: function
doc:
<comment>Description:</comment>
  Eliminar/Borrar una constante ya definida

<comment>Param:</comment>
  <info>string</info>  <strong>$constname</strong>  Nombre de la constante a eliminar. Una cadena que indica la constante global,
                      o <return>nombreclase::constname</return> que indica la constante de clase.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>runkit_constant_add()</strong>
   * <strong>runkit_constant_redefine()</strong>


id: runkit_function_add
type: function
doc:
<comment>Description:</comment>
  Añadir una nueva función, similar a create_function

<comment>Param:</comment>
  <info>string</info>  <strong>$funcname</strong>  Nombre de la función que va a ser creada
  <info>string</info>  <strong>$arglist</strong>   Lista de argumentos separados por comas
  <info>string</info>  <strong>$code</strong>      Código que compone la función

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>create_function()</strong>
   * <strong>runkit_function_redefine()</strong>
   * <strong>runkit_function_copy()</strong>
   * <strong>runkit_function_rename()</strong>
   * <strong>runkit_function_remove()</strong>
   * <strong>runkit_method_add()</strong>


id: runkit_function_copy
type: function
doc:
<comment>Description:</comment>
  Copiar una función a un nombre de función nuevo

<comment>Param:</comment>
  <info>string</info>  <strong>$funcname</strong>    Nombre de la función existente
  <info>string</info>  <strong>$targetname</strong>  Nombre de la función donde se va a copiar la definición

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_function_add()</strong>
   * <strong>runkit_function_redefine()</strong>
   * <strong>runkit_function_rename()</strong>
   * <strong>runkit_function_remove()</strong>


id: runkit_function_redefine
type: function
doc:
<comment>Description:</comment>
  Reemplazar una definición de función con una nueva implementación
    
  
  Por defecto, sólo
  funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas.  Para
  controlar funciones internas, la opción
  <return>runkit.internal_override</return> en php.ini debe ser habilitada.

<comment>Param:</comment>
  <info>string</info>  <strong>$funcname</strong>  Nombre de la función a redefinir
  <info>string</info>  <strong>$arglist</strong>   Nueva lista de argumentos a ser aceptados por la función
  <info>string</info>  <strong>$code</strong>      Nueva implementación de código

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_function_add()</strong>
   * <strong>runkit_function_copy()</strong>
   * <strong>runkit_function_rename()</strong>
   * <strong>runkit_function_remove()</strong>


id: runkit_function_remove
type: function
doc:
<comment>Description:</comment>
  Eliminar una definición de función
    
  
  Por defecto, sólo
  funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas.  Para
  controlar funciones internas, la opción
  <return>runkit.internal_override</return> en php.ini debe ser habilitada.

<comment>Param:</comment>
  <info>string</info>  <strong>$funcname</strong>  Nombre de la función a ser borrada

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_function_add()</strong>
   * <strong>runkit_function_copy()</strong>
   * <strong>runkit_function_redefine()</strong>
   * <strong>runkit_function_rename()</strong>


id: runkit_function_rename
type: function
doc:
<comment>Description:</comment>
  Cambiar el nombre de una función
    
  
  Por defecto, sólo
  funciones del espacio de usuario pueden ser eliminadas, renombradas, o modificadas.  Para
  controlar funciones internas, la opción
  <return>runkit.internal_override</return> en php.ini debe ser habilitada.

<comment>Param:</comment>
  <info>string</info>  <strong>$funcname</strong>  Nombre actual de la función
  <info>string</info>  <strong>$newname</strong>   Nombre nuevo de la función

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_function_add()</strong>
   * <strong>runkit_function_copy()</strong>
   * <strong>runkit_function_redefine()</strong>
   * <strong>runkit_function_remove()</strong>


id: runkit_import
type: function
doc:
<comment>Description:</comment>
  Procesar un archivo PHP importando definiciones de funciones y clases, sobrescribiendo cuando sea
  apropiado
    
  
  Similar a <strong>include()</strong>, sin embargo cualquier código que resida fuera de una función o clase es
  simplemente ignorado. Además, dependiendo del valor de <strong>$flags</strong>, cualquier función o clase ya
  existente en el entorno de ejecución actual podría ser sobrescrito automáticamente por sus nuevas
  definiciones.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  El nombre de archivo desde que se va a importar las definiciones de funciones y
                     clases
  <info>int</info>     <strong>$flags</strong>     Operador OR a nivel de bit de la familia de constantes <return>RUNKIT_IMPORT_*</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: runkit_method_add
type: function
doc:
<comment>Description:</comment>
  Añadir dinámicamente un nuevo método a una clase dada

<comment>Param:</comment>
  <info>string</info>  <strong>$classname</strong>   La clase donde se va a añadir el método
  <info>string</info>  <strong>$methodname</strong>  El nombre del método a añadir
  <info>string</info>  <strong>$args</strong>        Lista de argumentos delimitados por comas para el recién creado método
  <info>string</info>  <strong>$code</strong>        El código a ser evaluado cuando <strong>$methodname</strong> sea llamado
  <info>int</info>     <strong>$flags</strong>       El tipo de método a crear, puede ser <info>RUNKIT_ACC_PUBLIC</info>, <info>RUNKIT_ACC_PROTECTED</info>
                       o <info>RUNKIT_ACC_PRIVATE</info> opcionalmente combinado mediante OR de bits con
                       <info>RUNKIT_ACC_STATIC</info> (desde 1.0.1)
                       
                       Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión,
                       todos los métodos eran públicos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_method_copy()</strong>
   * <strong>runkit_method_redefine()</strong>
   * <strong>runkit_method_remove()</strong>
   * <strong>runkit_method_rename()</strong>
   * <strong>runkit_function_add()</strong>


id: runkit_method_copy
type: function
doc:
<comment>Description:</comment>
  Copia un método de una clase a otra

<comment>Param:</comment>
  <info>string</info>  <strong>$dClass</strong>   Clase destino del método a copiar
  <info>string</info>  <strong>$dMethod</strong>  Nombre del método destino
  <info>string</info>  <strong>$sClass</strong>   Clase fuente del método a copiar
  <info>string</info>  <strong>$sMethod</strong>  Nombre del método a copiar desde la clase fuente. Si se omite este parámetro, se
                    asume el valor de <strong>$dMethod</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_method_add()</strong>
   * <strong>runkit_method_redefine()</strong>
   * <strong>runkit_method_remove()</strong>
   * <strong>runkit_method_rename()</strong>
   * <strong>runkit_function_copy()</strong>


id: runkit_method_redefine
type: function
doc:
<comment>Description:</comment>
  Cambiar dinámicamente el código del método dado
  
  Esta función no puede
  ser utilizada para manipular el actual método en ejecución (o extendido).

<comment>Param:</comment>
  <info>string</info>  <strong>$classname</strong>   La clase en la que se va a redefinir el método
  <info>string</info>  <strong>$methodname</strong>  El nombre del método a redefinir
  <info>string</info>  <strong>$args</strong>        Lista de argumentos delimitados por coma para el método redefinido
  <info>string</info>  <strong>$code</strong>        El nuevo código a ser evaluado cuando <strong>$methodname</strong> sea llamado
  <info>int</info>     <strong>$flags</strong>       El método redefinido puede ser <info>RUNKIT_ACC_PUBLIC</info>, <info>RUNKIT_ACC_PROTECTED</info> o
                       <info>RUNKIT_ACC_PRIVATE</info> opcionalmente combinado mediante OR de bits con
                       <info>RUNKIT_ACC_STATIC</info> (desde 1.0.1)
                       
                       Este parámetro sólo se usa a partir de PHP 5, ya que, antes de esta versión,
                       todos los métodos eran públicos.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_method_add()</strong>
   * <strong>runkit_method_copy()</strong>
   * <strong>runkit_method_remove()</strong>
   * <strong>runkit_method_rename()</strong>
   * <strong>runkit_function_redefine()</strong>


id: runkit_method_remove
type: function
doc:
<comment>Description:</comment>
  Eliminar dinámicamente el método dado
  
  Esta función no puede
  ser utilizada para manipular el actual método en ejecución (o extendido).

<comment>Param:</comment>
  <info>string</info>  <strong>$classname</strong>   La clase en la que se va a eliminar el método
  <info>string</info>  <strong>$methodname</strong>  El nombre del método a eliminar

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_method_add()</strong>
   * <strong>runkit_method_copy()</strong>
   * <strong>runkit_method_redefine()</strong>
   * <strong>runkit_method_rename()</strong>
   * <strong>runkit_function_remove()</strong>


id: runkit_method_rename
type: function
doc:
<comment>Description:</comment>
  Cambiar dinámicamente el nombre del método dado
  
  Esta función no puede
  ser utilizada para manipular el actual método en ejecución (o extendido).

<comment>Param:</comment>
  <info>string</info>  <strong>$classname</strong>   La clase en la que se renombrará el método
  <info>string</info>  <strong>$methodname</strong>  El nombre del método a renombrar
  <info>string</info>  <strong>$newname</strong>     El nombre nuevo a dar al método renombrado

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>runkit_method_add()</strong>
   * <strong>runkit_method_copy()</strong>
   * <strong>runkit_method_redefine()</strong>
   * <strong>runkit_method_remove()</strong>
   * <strong>runkit_function_rename()</strong>


id: runkit_superglobals
type: function
doc:
<comment>Description:</comment>
  Devolver el array indexado numéricamente de las superglobales registradas

<comment>Return:</comment>
  <info>array</info>  Devuelve un array indexado numéricamente de las globales registradas actualmente, esto es,
         _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

<comment>See Also:</comment>
   * Ámbito de Variable


id: sapi_windows_cp_conv
type: function
doc:
<comment>Description:</comment>
  Convert string from one codepage to another
  
  Convert string from one codepage to another.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$in_codepage</strong>   The codepage of the <strong>$subject</strong> string. Either the codepage name or
                             identifier.
  <info>int|string</info>  <strong>$out_codepage</strong>  The codepage to convert the <strong>$subject</strong> string to. Either the codepage
                             name or identifier.
  <info>string</info>      <strong>$subject</strong>       The string to convert.

<comment>Return:</comment>
  <info>string|null</info>  The <strong>$subject</strong> string converted to <strong>$out_codepage</strong>, or <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>sapi_windows_cp_get()</strong>
   * <strong>iconv()</strong>


id: sapi_windows_cp_get
type: function
doc:
<comment>Description:</comment>
  Get current codepage
  
  Gets the current codepage.

<comment>Param:</comment>
  <info>string</info>  <strong>$kind</strong>  The kind of operating system codepage to get, either <return>'ansi'</return> or <return>'oem'</return>. Any other
                 value refers to the current codepage of the process.

<comment>Return:</comment>
  <info>int</info>  If <strong>$kind</strong> is <return>'ansi'</return>, the current ANSI code page of the operating system is returned. If <strong>$kind</strong>
       is <return>'oem'</return>, the current OEM code page of the operating system is returned. Otherwise, the
       current codepage of the process is returned.

<comment>See Also:</comment>
   * <strong>sapi_windows_cp_set()</strong>


id: sapi_windows_cp_is_utf8
type: function
doc:
<comment>Description:</comment>
  Indicates whether the codepage is UTF-8 compatible
  
  Indicates whether the codepage of the current process is UTF-8 compatible.

<comment>Return:</comment>
  <info>bool</info>  Returns whether the codepage of the current process is UTF-8 compatible.

<comment>See Also:</comment>
   * <strong>sapi_windows_cp_get()</strong>


id: sapi_windows_cp_set
type: function
doc:
<comment>Description:</comment>
  Set process codepage
  
  Set the codepage of the current process.

<comment>Param:</comment>
  <info>int</info>  <strong>$codepage</strong>  A codepage identifier.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sapi_windows_cp_get()</strong>


id: sapi_windows_generate_ctrl_event
type: function
doc:
<comment>Description:</comment>
  Send a CTRL event to another process
  
  Sends a CTRL event to another process in the same process group.

<comment>Param:</comment>
  <info>int</info>  <strong>$event</strong>  The <return>CTRL</return> event to send; either <info>PHP_WINDOWS_EVENT_CTRL_C</info> or
               <info>PHP_WINDOWS_EVENT_CTRL_BREAK</info>.
  <info>int</info>  <strong>$pid</strong>    The ID of the process to which to send the event to. If <return>0</return> is given, the event is sent
               to all processes of the process group.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>proc_open()</strong>
   * <strong>sapi_windows_set_ctrl_handler()</strong>


id: sapi_windows_set_ctrl_handler
type: function
doc:
<comment>Description:</comment>
  Set or remove a CTRL event handler
  
  Sets or removes a <return>CTRL</return> event handler, which allows Windows CLI processes to intercept or ignore
  <return>CTRL+C</return> and <return>CTRL+BREAK</return> events. Note that in multithreaded environments, this is only possible when
  called from the main thread.

<comment>Param:</comment>
  <info>callable|null</info>  <strong>$handler</strong>  A callback function to set or remove. If set, this function will be
                           called whenever a <return>CTRL+C</return> or <return>CTRL+BREAK</return> event occurs. The function is
                           supposed to have the following signature: <info>void</info>handler<info>int</info><strong>$event</strong> <strong>$event</strong> The
                           <return>CTRL</return> event which has been received; either <info>PHP_WINDOWS_EVENT_CTRL_C</info> or
                           <info>PHP_WINDOWS_EVENT_CTRL_BREAK</info>.  Setting a <info>null</info> <strong>$handler</strong> causes the process
                           to ignore <return>CTRL+C</return> events, but not <return>CTRL+BREAK</return> events.
                           
                           The <return>CTRL</return> event which has been received; either <info>PHP_WINDOWS_EVENT_CTRL_C</info>
                           or <info>PHP_WINDOWS_EVENT_CTRL_BREAK</info>.
  <info>int</info>            <strong>$event</strong>    The <return>CTRL</return> event which has been received; either <info>PHP_WINDOWS_EVENT_CTRL_C</info>
                           or <info>PHP_WINDOWS_EVENT_CTRL_BREAK</info>.
  <info>bool</info>           <strong>$add</strong>      If <info>true</info>, the handler is set. If <info>false</info>, the handler is removed.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sapi_windows_generate_ctrl_event()</strong>


id: sapi_windows_vt100_support
type: function
doc:
<comment>Description:</comment>
  Get or set VT100 support for the specified stream associated to an output buffer of a Windows
  console.
  
  If <strong>$enable</strong> is <info>null</info>, the function returns <info>true</info> if the stream <strong>$stream</strong> has VT100 control codes
  enabled, <info>false</info> otherwise.
  
  If <strong>$enable</strong> is a <info>bool</info>, the function will try to enable or disable the VT100 features of the stream
  <strong>$stream</strong>. If the feature has been successfully enabled (or disabled), the function will return
  <info>true</info>, or <info>false</info> otherwise.
  
  At startup, PHP tries to enable the VT100 feature of the <info>STDOUT</info>/<info>STDERR</info> streams. By the way, if
  those streams are redirected to a file, the VT100 features may not be enabled.
  
  If VT100 support is enabled, it is possible to use control sequences as they are known from the
  VT100 terminal.  They allow the modification of the terminal's output. On Windows these sequences
  are called Console Virtual Terminal Sequences.
  
  This function uses the <info>ENABLE_VIRTUAL_TERMINAL_PROCESSING</info> flag implemented in the Windows 10 API,
  so the VT100 feature may not be available on older Windows versions.

<comment>Param:</comment>
  <info>resource</info>   <strong>$stream</strong>  The stream on which the function will operate.
  <info>bool|null</info>  <strong>$enable</strong>  If <info>bool</info>, the VT100 feature will be enabled (if <info>true</info>) or disabled (if <info>false</info>).

<comment>Return:</comment>
  <info>bool</info>  If <strong>$enable</strong> is <info>null</info>: returns <info>true</info> if the VT100 feature is enabled, <info>false</info> otherwise.
        
        If <strong>$enable</strong> is a <info>bool</info>: Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: scandir
type: function
doc:
<comment>Description:</comment>
  Enumera los ficheros y directorios ubicados en la ruta especificada
  
  Devuelve un <info>array</info> con los ficheros y los directorios que se encuentran bajo <strong>$directory</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$directory</strong>      El directorio que será examinado.
  <info>int</info>       <strong>$sorting_order</strong>  Por omisión, se ordena alfabéticamente en sentido ascendente. Si se
                            utiliza el parámetro opcional <strong>$sorting_order</strong> con el valor
                            <info>SCANDIR_SORT_DESCENDING</info>, entonces se ordenará alfabéticamente en sentido
                            descendente. Si se asigna <info>SCANDIR_SORT_NONE</info> entonces el resultado no se
                            ordena.
  <info>resource</info>  <strong>$context</strong>        Para una descripción del parámetro <strong>$context</strong>,  consulte la sección de
                            flujos del manual.

<comment>Return:</comment>
  <info>array</info>  Devuelve un <info>array</info> con los nombres de los ficheros en caso de éxito, o <info>false</info> en caso de
         error. Si <strong>$directory</strong> no es un directorio, entonces se devuelve <info>false</info>, y se genera un error
         de nivel  <info>E_WARNING</info>.

<comment>See Also:</comment>
   * <strong>opendir()</strong>
   * <strong>readdir()</strong>
   * <strong>glob()</strong>
   * <strong>is_dir()</strong>
   * <strong>sort()</strong>


id: scoutapm_get_calls
type: function
doc:
<comment>Description:</comment>
  Returns a list of instrumented calls that have occurred
  
  Returns a list of any instrumented function calls since <strong>scoutapm_get_calls()</strong> was last called. The
  list is cleared each time the function is called.

<comment>Return:</comment>
  <info>array</info>  <strong>scoutapm_get_calls()</strong> returns an array containing a list of all recorded calls to
         instrumented function calls.


id: scoutapm_list_instrumented_functions
type: function
doc:
<comment>Description:</comment>
  List functions scoutapm will instrument.
  
  Returns a list of the functions the extension will instrument.

<comment>Return:</comment>
  <info>array</info>  <strong>scoutapm_list_instrumented_functions()</strong> returns an array containing a list of all functions
         that the scoutapm extension is able to instrument in the current installation.


id: seaslog_get_author
type: function
doc:
<comment>Description:</comment>
  Get SeasLog author.

<comment>Return:</comment>
  <info>string</info>  Return SeasLog author as string.


id: seaslog_get_version
type: function
doc:
<comment>Description:</comment>
  Get SeasLog version.

<comment>Return:</comment>
  <info>string</info>  Return SeasLog version (SEASLOG_VERSION) as string.


id: sem_acquire
type: function
doc:
<comment>Description:</comment>
  Adquirir un semáforo
  
  <strong>sem_acquire()</strong> por defecto queda en espera (si es necesario) hasta que el semáforo pueda ser
  adquirido. Un proceso que intente adquirir un semáforo que ya ha sido adquirido quedará en espera
  para siempre si al adquirir el semáforo causa que su número máximo de semáforo sea excedido.
  
  Después de procesar una petición, cualquier semáforo adquirido por el proceso pero no liberado
  explícitamente será liberado automáticamente y se generará un mensaje de tipo warning.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sem_identifier</strong>  <strong>$sem_identifier</strong> es un recurso de semáforo obtenido desde <strong>sem_get()</strong>.
  <info>bool</info>      <strong>$nowait</strong>          Especifica si el proceso no debería esperar a que el semáforo sea
                             adquirido. Si se establece a <return>true</return>, la llamada devolverá <return>false</return>
                             inmediatamente si un semáforo no se puede adquirir de inmediato.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sem_get()</strong>
   * <strong>sem_release()</strong>


id: sem_get
type: function
doc:
<comment>Description:</comment>
  Obtener el id de un semáforo
  
  <strong>sem_get()</strong> devuelve un id que se puede usar para acceder al semáforo de System V con la clave dada
  por <strong>$key</strong>.
  
  Una segunda llamada a <strong>sem_get()</strong> para la misma clave devolverá un identificador de semáforo
  diferente, pero ambos identificadores accederán al mismo semáforo subyacente.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>           
  <info>int</info>  <strong>$max_acquire</strong>   El número de procesos que puede adquirir el semáforo simultáneamente está
                      establecido por <strong>$max_acquire</strong>.
  <info>int</info>  <strong>$perm</strong>          Los permisos del semáforo. En realidad este valor se establece sólo si el
                      proceso que lo encuentra es el único proceso actualmente adjunto al semáforo.
  <info>int</info>  <strong>$auto_release</strong>  Especifica si el semáforo debería ser liberado automáticamente al cierre de la
                      petición.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un identificador de semáforo positivo en caso de éxito, o <info>false</info> en caso de
            error.

<comment>See Also:</comment>
   * <strong>sem_acquire()</strong>
   * <strong>sem_release()</strong>
   * <strong>ftok()</strong>


id: sem_release
type: function
doc:
<comment>Description:</comment>
  Liberar un semáforo
  
  <strong>sem_release()</strong> libera el semáforo si actualmente está adquirido por el proceso llamador, de otro
  modo se generará una advertencia.
  
  Después de liberar el semáforo se puede llamar a <strong>sem_acquire()</strong> para readquirirlo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sem_identifier</strong>  Un gestor de recurso de semáforo devuelto por <strong>sem_get()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sem_get()</strong>
   * <strong>sem_acquire()</strong>


id: sem_remove
type: function
doc:
<comment>Description:</comment>
  Eliminar un semáforo
  
  <strong>sem_remove()</strong> elimina el semáforo dado.
  
  Después de eliminar el semáforo, éste ya no está accesible.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sem_identifier</strong>  Un identificador de recurso de semáforo devuelto por <strong>sem_get()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>sem_get()</strong>
   * <strong>sem_release()</strong>
   * <strong>sem_acquire()</strong>


id: serialize
type: function
doc:
<comment>Description:</comment>
  Genera una representación apta para el almacenamiento de un valor
  
  Genera una representación almacenable de un valor.
  
  Esto es útil para el almacenamiento de valores en PHP sin perder su tipo y estructura.
  
  Para recuperar el valor PHP a partir de la cadena seriada, utilice <strong>unserialize()</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  El valor a ser serializado. <strong>serialize()</strong> maneja todos los tipos, excepto el tipo
                 <info>resource</info>. Puede incluso usar <strong>serialize()</strong> sobre arrays que contienen referencias a
                 ellos mismos. Las referencias circulares encontradas en el array/objeto que procede
                 a serializar también serán almacenadas. Cualquier otra referencia se perderá.
                 
                 Cuando se trata de objetos, PHP intentará llamar a la función miembro __sleep()
                 antes de la serialización. Esto permite que el objeto efectúe limpiezas de último
                 minuto, etc. antes de ser serializado. Del mismo modo, cuando el objeto es
                 recuperado usando <strong>unserialize()</strong>, la función miembro __wakeup() es llamada.
                 
                 Los miembros privados del objeto tienen el nombre de la clase al comienzo de su
                 nombre; los miembros protegidos tienen un '*' al comienzo de su nombre. estos
                 valores antepuestos tienen bytes nulos a ambos lados.

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena que contiene una representación de flujo de bytes del <strong>$value</strong> que puede
          ser almacenada en cualquier parte.
          
          Observe que esto es una cadena binaria que puede incluir bytes nulos, y necesita ser
          almacenada y manipulada como tal. Por ejemplo, la salida de <strong>serialize()</strong> debe ser
          generalmente almacenada en un campo de tipo BLOB en la base de datos, en vez de en campos
          de tipo CHAR o TEXT.

<comment>See Also:</comment>
   * <strong>unserialize()</strong>
   * <strong>var_export()</strong>
   * <strong>json_encode()</strong>
   * Serialización de Objetos
   * __sleep()
   * __wakeup()


id: session_abort
type: function
doc:
<comment>Description:</comment>
  Desecha los cambios en el array de sesión y finaliza la sesión
  
  <strong>session_abort()</strong> finaliza la sesión sin guardar datos. Por tanto, se mantienen los valores
  originales de los datos de la sesión.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * $_SESSION
   * 
     La directiva de configuración
     session.auto_start
    
   * <strong>session_start()</strong>
   * <strong>session_reset()</strong>
   * <strong>session_commit()</strong>


id: session_cache_expire
type: function
doc:
<comment>Description:</comment>
  Devuelve la caducidad de la caché actual
  
  <strong>session_cache_expire()</strong> devuelve la configuración actual de <return>session.cache_expire</return>.
  
  La caducidad de la caché se reinicia al valor predeterminado de 180 almacenado en
  session.cache_expire en el momento de iniciar una petición. Por lo tanto, se necesita llamar a
  <strong>session_cache_expire()</strong> por cada petición (y antes de llamar a <strong>session_start()</strong>).

<comment>Param:</comment>
  <info>string</info>  <strong>$new_cache_expire</strong>  Si se da <strong>$new_cache_expire</strong>, la nueva caducidad de la caché se reemplaza
                             por <strong>$new_cache_expire</strong>.
                             
                              La configuración de <strong>$new_cache_expire</strong> es de valores sólamente, si
                             <return>session.cache_limiter</return> se establece a un valor diferente de <return>nocache</return>.
                             
                             La configuración de <strong>$new_cache_expire</strong> es de valores sólamente, si
                             <return>session.cache_limiter</return> se establece a un valor diferente de <return>nocache</return>.

<comment>Return:</comment>
  <info>int</info>  Devuelve la configuración actual de <return>session.cache_expire</return>. El valor devuelto se debería leer
       en minutos, por defecto es 180.

<comment>See Also:</comment>
   * session.cache_expire
   * session.cache_limiter
   * <strong>session_cache_limiter()</strong>


id: session_cache_limiter
type: function
doc:
<comment>Description:</comment>
  Obtener y/o establecer el limitador de caché actual
  
  <strong>session_cache_limiter()</strong> devuelve el nombre del limitador de caché actual.
  
  El limitador de caché define cuáles cabeceras HTTP de control de caché son enviadas al cliente.
  Estas cabeceras determinan las normas por las cuáles el contenido de la página puede ser examinada
  por el cliente y por los proxies intermediarios. Establecer el limitador de caché a <return>nocache</return>
  rechaza cualquier examen por parte del cliente/proxy. Un valor de <return>public</return> permite la examen por
  proxies y el client, mientras que <return>private</return> rechaza la examen por proxies y permite al cliente
  examinar el contenido.
  
  En modo <return>private</return>, la cabecera Expire enviada al cliente puede causar confusión a algunos
  navegadores, incluido Mozilla. Se puede evitar este problema usando el modo <return>private_no_expire</return>. La
  cabecera <return>Expire</return> nunca se envía al cliente en este modo.
  
  Establecer el limitador de caché a <return>''</return> desactivará el envío automático de las cabeceras de caché
  completamente.
  
  El limitador de caché se reinicia a su valor predeterminado almacenado en session.cache_limiter en
  el momento de iniciar una petición. Por lo tanto, se necesita llamar a <strong>session_cache_limiter()</strong>
  para cada petición (y antes de llamar a <strong>session_start()</strong>).

<comment>Param:</comment>
  <info>string</info>  <strong>$cache_limiter</strong>  Si se especifica <strong>$cache_limiter</strong>, el nombre del limitador de caché actual
                          se cambia por el nuevo valor.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre del limitador de caché actual.

<comment>See Also:</comment>
   * session.cache_limiter


id: session_commit
type: function
doc:
<comment>Description:</comment>
  Alias de session_write_close
  
  Esta función es un alias de:  <strong>session_write_close()</strong>.


id: session_create_id
type: function
doc:
<comment>Description:</comment>
  Crear un nuevo ID de sesión
  
  <strong>session_create_id()</strong> se emplea para crear nuevos ID de sesión para la sesión actual. Devuelve los
  ID de sesión libres de colisiones.
  
  Si la sesión no está activa, la comprobación de colisiones se omite.
  
  El ID de sesión se crea de acuerdo a los ajustes de php.ini.
  
  Es importante utilizar el mismo ID de usuario del servidor web para las tareas de recolección de
  basura. De lo contrario, se podrían tener problemas de permisos especialmente con manejadores de
  guardado de ficheros.

<comment>Param:</comment>
  <info>string</info>  <strong>$prefix</strong>  Si se especifica <strong>$prefix</strong>, el nuevo ID de sesión se prefijará con <strong>$prefix</strong>. No
                   todos los caracteres están permitidos con el ID de sesión. Están permitidos los
                   caracteres del rango <return>a-z A-Z 0-9 , (coma) y - (menos)</return>.

<comment>Return:</comment>
  <info>string</info>  <strong>session_create_id()</strong> devuelve el nuevo ID de sesión libre de colisiones para la sesión
          actual. Si se emplea sin una sesión activa, se omite la comprobación de colisiones.

<comment>See Also:</comment>
   * <strong>session_regenerate_id()</strong>
   * <strong>session_start()</strong>
   * session.use_strict_mode
   * SessionHandler::create_sid


id: session_decode
type: function
doc:
<comment>Description:</comment>
  Decodifica la información de sesión desde una cadena de sesión codificada
  
  <strong>session_decode()</strong> decodifica la información de sesión serializada proporcianda en <strong>$data</strong>, y rellena
  la variable superglobal $_SESSION con el resultado.
  
  Por defecto, el método de deserialización usado es interno a PHP, y no es el mismo que
  <strong>unserialize()</strong>. El método de serialización se puede establecer con session.serialize_handler.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Los datos codificados a alamcenar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>session_encode()</strong>
   * session.serialize_handler


id: session_destroy
type: function
doc:
<comment>Description:</comment>
  Destruye toda la información registrada de una sesión
  
  <strong>session_destroy()</strong> destruye toda la información asociada con la sesión actual. No destruye ninguna
  de las variables globales asociadas con la sesión, ni destruye la cookie de sesión. Para volver a
  utilizar las variables de sesión se debe llamar a <strong>session_start()</strong>.
  
  Para destruir la sesión completamente, como desconectar al usuario, el id de sesión también debe
  ser destruido. Si se usa una cookie para propagar el id de sesión (comportamiento por defecto),
  entonces la cookie de sesión se debe borrar. <strong>setcookie()</strong> se puede usar para eso.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>unset()</strong>
   * <strong>setcookie()</strong>


id: session_encode
type: function
doc:
<comment>Description:</comment>
  Codifica los datos de la sesión actual como un string codificado de sesión
  
  <strong>session_encode()</strong> devuelve un string serializado del contenido de los datos de la sesión actual
  almacenados en el array superglobal $_SESSION.
  
  Por defecto, el método de serialización usado es interno a PHP, y no es el mismo que <strong>serialize()</strong>.
  El método de serialización se puede establecer con session.serialize_handler.

<comment>Return:</comment>
  <info>string</info>  Devuelve el contenido de la sesión actual codificado.

<comment>See Also:</comment>
   * <strong>session_decode()</strong>
   * session.serialize_handler


id: session_gc
type: function
doc:
<comment>Description:</comment>
  Realizar una recolección de basura de datos de sesión
  
  <strong>session_gc()</strong> se emplea para la RB (recolección de basura) de datos de sesión. PHP hace la RC de
  sesiones basada en probabilidad de  forma predeterminada.
  
  LA RB basada en probabilidad funciona en cierto modo aunque tiene algunos problemas. 1) Los datos
  de sesión de sitios con tráfico bajo podrían no borrarse con la frecuencia requerida. 2) Los
  sitios con tráfico alto podrían tener una RB demasiado frecuente. 3) La RB se realiza durante la
  petición del usuario, por lo que este podría experimentar un retraso en la RB.
  
  Por tanto, se recomienda ejecutar la RB periódicamente para sistemas en produción. P.ej., use
  "cron" para sistemas como UNIX. Asegúrese de inhabilitar la RB basada en probabilidad
  estableciendo session.gc_probability  a 0.

<comment>Return:</comment>
  <info>int</info>  <strong>session_gc()</strong> devuelve el número de datos de sesión eliminados en caso de éxito, o <info>false</info> en
       caso de fallo.
       
       Los manejadores de guardado antiguos no devuelven el número de datos de sesión eliminados,
       sino solamente el indicador de éxito/fallo. Si este es el caso, el número de datos de sesión
       eliminados será 1, sin considerar los datos realmente eliminados.

<comment>See Also:</comment>
   * <strong>session_start()</strong>
   * <strong>session_destroy()</strong>
   * session.gc_probability


id: session_get_cookie_params
type: function
doc:
<comment>Description:</comment>
  Obtener los parámetros de la cookie de sesión
  
  Obtiene los parámetros de la cookie de sesión.

<comment>Return:</comment>
  <info>array</info>  Devuelve una matriz con la información de la cookie de sesión actual, la matriz contiene
         los siguientes elementos: "lifetime" -  El tiempo de vida de la cookie en segundos. "path"
         -  La ruta donde se almacena la información. "domain" -  El dominio de la cookie. "secure"
         -  La cookie debería ser enviada solamente sobre conexiones seguras. "httponly" - La cookie
         sólo puede ser accedida a través del protocolo HTTP.
         
         "lifetime" -  El tiempo de vida de la cookie en segundos.
         
         "path" -  La ruta donde se almacena la información.
         
         "domain" -  El dominio de la cookie.
         
         "secure" -  La cookie debería ser enviada solamente sobre conexiones seguras.
         
         "httponly" - La cookie sólo puede ser accedida a través del protocolo HTTP.

<comment>See Also:</comment>
   * session.cookie_lifetime
   * session.cookie_path
   * session.cookie_domain
   * session.cookie_secure
   * session.cookie_httponly
   * <strong>session_set_cookie_params()</strong>


id: session_id
type: function
doc:
<comment>Description:</comment>
  Obtener y/o establecer el id de sesión actual
  
  <strong>session_id()</strong> se usa para obtener o establecer el id de sesión para la sesión actual.
  
  La constante <info>SID</info> también se puede usar para recuperar el nombre y la sesión actuales como una
  cadena apropiada para añadir a las URL. Véase también Manejo de Sesiones.

<comment>Param:</comment>
  <info>string</info>  <strong>$id</strong>  Si se especifica <strong>$id</strong>, reemplazará el id de sesión actual. <strong>session_id()</strong> necesita ser
               llamado antes de <strong>session_start()</strong> para este propósito. Dependiendo del gestor de
               sesión, no todos los caracteres están permitidos dentro del id de sesión. Por
               ejemplo, el gestor de archivo de sesión ¡sólo permite caracteres en el rango <return>a-z A-Z
               0-9 , (coma) y - (menos)</return>!
               
               Cuando se usan cookies de sesión, especificar un <strong>$id</strong> para <strong>session_id()</strong> enviará
               siempre una nueva cookie cuando se llame a <strong>session_start()</strong>, sin importar si el id de
               sesión actual es idéntico al que se va a establecer.

<comment>Return:</comment>
  <info>string</info>  <strong>session_id()</strong> devuelve el id de sesión para la sesión actual o la cadena vacía (<return>""</return>) si no
          hay sesión actual (no existe id de sesión actual).

<comment>See Also:</comment>
   * <strong>session_regenerate_id()</strong>
   * <strong>session_start()</strong>
   * <strong>session_set_save_handler()</strong>
   * session.save_handler


id: session_module_name
type: function
doc:
<comment>Description:</comment>
  Obtiene y/o establece el módulo de sesión actual
  
  <strong>session_module_name()</strong> obtiene el nombre del módulo de sesión actual.

<comment>Param:</comment>
  <info>string</info>  <strong>$module</strong>  Si se especifica <strong>$module</strong>, ese módulo será usado en su lugar.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre del módulo de sesión actual.


id: session_name
type: function
doc:
<comment>Description:</comment>
  Obtener y/o establecer el nombre de la sesión actual
  
  <strong>session_name()</strong> devuelve el nombre de la sesión actual. Si se da el nombre <strong>$name</strong>, <strong>session_name()</strong>
  actualizará el nombre de la sesión y devolverá el nombre antiguo de la sesión.
  
  El nombre de la sesión se reinicia al valor predeterminado almacenado en <return>session.name</return> en el
  momento de iniciar una petición. Por lo tanto, se necesita llamar a <strong>session_name()</strong> por cada
  petición (y antes de llamar a <strong>session_start()</strong> o <strong>session_register()</strong>).

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  El nombre de la sesión hace referencia al nombre de la sesión   usado cookies y
                 URLs (p.ej. <return>PHPSESSID</return>). Debería contener sólo caracteres alfanuméricos; debería ser
                 corto y descriptivo (esto es, para usuarios con las advertencias de cookies
                 habilitadas). Si se especifica <strong>$name</strong>, el nombre de la sesión actual se cambia por
                 su valor.
                 
                  El nombre de la sesión no puede consistir en dígitos solamente, debe de estar
                 presente al menos una letra. De otro modo se genera un nuevo id de sesión cada vez.
                 
                 El nombre de la sesión no puede consistir en dígitos solamente, debe de estar
                 presente al menos una letra. De otro modo se genera un nuevo id de sesión cada vez.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre de la sesión actual. Si se proporciona <strong>$name</strong> y una función actualiza el
          nombre de la sesión, se devolverá el nombre antiguo de la sesión.

<comment>See Also:</comment>
   * 
     La directiva de configuración session.name
    


id: session_regenerate_id
type: function
doc:
<comment>Description:</comment>
  Actualiza el id de sesión actual con uno generado más reciente
    
  
  <strong>session_regenerate_id()</strong> reemplazará el id de sesión actual por uno nuevo, y mantendrá la
  información de la sesión actual.
  
  Cuando session.use_trans_sid está habilitado, la salida debe estar iniciada después de llamar a
  <strong>session_regenerate_id()</strong>. De lo contrario, se usará el ID de sesión antiguo.

<comment>Param:</comment>
  <info>bool</info>  <strong>$delete_old_session</strong>  Si se borra el archivo asociado antiguo o no.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>session_id()</strong>
   * <strong>session_start()</strong>
   * <strong>session_name()</strong>


id: session_register_shutdown
type: function
doc:
<comment>Description:</comment>
  Función de cierre de sesiones
  
  Registra <strong>session_write_close()</strong> como una función de cierre.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: session_reset
type: function
doc:
<comment>Description:</comment>
  Reinicializar el array de sesión con los valores originales
  
  <strong>session_reset()</strong> reinicializa una sesión con los valores originales guardados en el almaceén de
  sesiones. Esta función requiere una sesión activa ya que descarta los cambios en $_SESSION.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * $_SESSION
   * 
     La directiva de configuración
     session.auto_start
    
   * <strong>session_start()</strong>
   * <strong>session_abort()</strong>
   * <strong>session_commit()</strong>


id: session_save_path
type: function
doc:
<comment>Description:</comment>
  Obtener y/o establecer la ruta de almacenamiento de la sesión actual
  
  <strong>session_save_path()</strong> devuelve la ruta del directorio actual usado para guardar la información de
  sesión.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  La ruta de la información de sesión. Si se especifica, la ruta de la información
                 guardada se cambiará. <strong>session_save_path()</strong> necesita ser llamada antes de
                 <strong>session_start()</strong> para ese propósito.
                 
                  En algunos sistemas operativos, se puede querer especificar una ruta en un sistema
                 de archivos que gestione muchos archivos pequeños de manera eficaz. Por ejemplo, en
                 Linux, reiserfs puede proporcionar un mejor rendimiento que ext2fs.
                 
                 En algunos sistemas operativos, se puede querer especificar una ruta en un sistema
                 de archivos que gestione muchos archivos pequeños de manera eficaz. Por ejemplo, en
                 Linux, reiserfs puede proporcionar un mejor rendimiento que ext2fs.

<comment>Return:</comment>
  <info>string</info>  Devuelve la ruta del directorio actual usado para el almacenamiento de información.

<comment>See Also:</comment>
   * 
     La directiva de configuración session.save_path
    


id: session_set_cookie_params
type: function
doc:
<comment>Description:</comment>
  Establecer los parámetros de la cookie de sesión
  
  Establece los parámetros de la cookie definidos en el archivo php.ini. El efecto de esta función
  sólo se mantiene para la duración del script. Por lo tanto, se necesita llamar a
  <strong>session_set_cookie_params()</strong> por cada petición y antes de llamar a <strong>session_start()</strong>.
  
  Esta función actualiza los valores ini en tiempo de ejecución de las claves de configuración ini
  de PHP que pueden ser recuperadas con la función <strong>ini_get()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$lifetime</strong>  Tiempo de vida de la cookie de sesión, definido en segundos.
  <info>string</info>  <strong>$path</strong>      Ruta en el dominio donde la cookie trabajará. Use una barras simple ('/') para
                     todas las rutas en el dominio.
  <info>string</info>  <strong>$domain</strong>    Dominio de la cookie, por ejemplo 'www.php.net'. Para hacer las cookies
                     visibles en todos los sub-dominios, el dominio debe ser prefijado con un punto,
                     como '.php.net'.
  <info>bool</info>    <strong>$secure</strong>    Si es <info>true</info> la cookie sólo será enviada sobre conexiones seguras.
  <info>bool</info>    <strong>$httponly</strong>  Si es <info>true</info> PHP intentará enviar la bandera httponly cuando se establezca la
                     cookie de sesión.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * session.cookie_lifetime
   * session.cookie_path
   * session.cookie_domain
   * session.cookie_secure
   * session.cookie_httponly
   * <strong>session_get_cookie_params()</strong>


id: session_set_save_handler
type: function
doc:
<comment>Description:</comment>
  Establece funciones de almacenamiento de sesiones a nivel de usuario
  
  Desde PHP 5.4 es posible registrar el siguiente prototipo:
  
  <strong>session_set_save_handler()</strong> establece las funciones de almacenamiento de sesiones a nivel de
  usuario que se usan para almacenar y recuperar información asociada con una sesión. Es más útil
  cuando se prefiere un método de almacenamiento distinto de aquellos proporcionados por las
  sesiones de PHP. Esto es, almacenar la información de sesión en una base de datos local.

<comment>Param:</comment>
  <info>SessionHandlerInterface</info>  <strong>$sessionhandler</strong>                               Una instancia de una clase
                                                                         que implemente
                                                                         SessionHandlerInterface,
                                                                         tal como <class>SessionHandler</class>,
                                                                         para registrarla como el
                                                                         gestor de sesión. Sólo
                                                                         desde PHP 5.4.
  <info>bool</info>                     <strong>$register_shutdown</strong>                            Registrar la función
                                                                         <strong>session_write_close()</strong> como
                                                                         una función
                                                                         <strong>register_shutdown_function()</strong>.
  <info></info>                         <strong>$open(string $savePath, string $sessionName)</strong>  La llamada de retorno open
                                                                         funciona como un
                                                                         constructor en las clases y
                                                                         es ejecutada cuando la
                                                                         sesión está siendo abierta.
                                                                         Es la primera función de
                                                                         llamada de retorno
                                                                         ejecutada cuando la sesión
                                                                         se inicia automáticamente o
                                                                         manualmente con
                                                                         <strong>session_start()</strong>. El valor
                                                                         devuelto es <info>true</info> en caso de
                                                                         éxito, <info>false</info> en caso de
                                                                         error.
  <info></info>                         <strong>$close()</strong>                                      La llamada de retorno close
                                                                         funciona como un destructor
                                                                         en las clases y es
                                                                         ejecutada después de haber
                                                                         llamado a la llamada de
                                                                         retorno write de la sesión.
                                                                         También se invoca cuando se
                                                                         llama a
                                                                         <strong>session_write_close()</strong>. El
                                                                         valor devuelto debería ser
                                                                         <info>true</info> en caso de éxito,
                                                                         <info>false</info> en caso de error.
  <info></info>                         <strong>$read(string $sessionId)</strong>                      La llamada de retorno <strong>$read</strong>
                                                                         debe devolver siempre una
                                                                         cadena de sesión
                                                                         (serializada), o una cadena
                                                                         vacía si no existe
                                                                         información que leer.
                                                                         
                                                                         Esta llamada de retorno es
                                                                         llamda internamente por PHP
                                                                         cuando se inicia la sesión
                                                                         o cuando se llama a
                                                                         <strong>session_start()</strong>. Antes de
                                                                         invocar a esta llamada de
                                                                         sesión PHP invocará a la
                                                                         llamda de retorno <strong>$open</strong>.
                                                                         
                                                                         El valor que devuelve esta
                                                                         llamada de retorno debe
                                                                         estar exactamente en el
                                                                         mismo formato de
                                                                         serialización que fue
                                                                         originalmente pasado para
                                                                         el almacenamiento de la
                                                                         llamada de retorno <strong>$write</strong>.
                                                                         El valor devuelto será
                                                                         deserializado
                                                                         automáticamente por PHP y
                                                                         srá usado para rellenar la
                                                                         variable superglobal
                                                                         $_SESSION. Aunque la
                                                                         información parezca similar
                                                                         a <strong>serialize()</strong>, observe que
                                                                         está en un formato
                                                                         diferente, el cual está
                                                                         especificado en la
                                                                         configuración ini
                                                                         session.serialize_handler.
  <info></info>                         <strong>$write(string $sessionId, string $data)</strong>       La llamada de retorno
                                                                         <strong>$write</strong> es llamada cuando la
                                                                         sesión necesita ser
                                                                         almacenada y cerrada. Esta
                                                                         llamada de retorno recibe
                                                                         el ID de sesión actual, una
                                                                         versión serializada de la
                                                                         variable superglobal
                                                                         $_SESSION. El método de
                                                                         serialización usado
                                                                         internamente por PHP está
                                                                         especificado en la
                                                                         configuración ini
                                                                         session.serialize_handler.
                                                                         
                                                                         La información serializada
                                                                         de sesión pasada a esta
                                                                         llamada de retorno debería
                                                                         ser almacenada junto con el
                                                                         ID de sesión pasado. Al
                                                                         recuperar esta información,
                                                                         la llamada de retorno <strong>$read</strong>
                                                                         debe devolver el valor
                                                                         exacto que fue pasado
                                                                         originalmente a la llamda
                                                                         de retorno <strong>$write</strong>.
                                                                         
                                                                         Esta llamada de retorno es
                                                                         invocada cuando PHP se
                                                                         cierra o cuando se llamda
                                                                         explícitamente a
                                                                         <strong>session_write_close()</strong>.
                                                                         Observe que después de
                                                                         ejecutar esta función PHP
                                                                         ejecutará internamente la
                                                                         llamada de retorno <strong>$close</strong>.
                                                                         El gestor "write" no se
                                                                         ejecuta hasta después de
                                                                         que se cierre el flujo de
                                                                         salida. Así, la salida
                                                                         desde declaraciones de
                                                                         depuración en el gestor
                                                                         "write" nunca serán vistas
                                                                         en el navegador. Si es
                                                                         necesaria la salida de
                                                                         depuración, se sugiere que
                                                                         la salida de depuración sea
                                                                         escrita en un archivo en su
                                                                         lugar.
                                                                         
                                                                         El gestor "write" no se
                                                                         ejecuta hasta después de
                                                                         que se cierre el flujo de
                                                                         salida. Así, la salida
                                                                         desde declaraciones de
                                                                         depuración en el gestor
                                                                         "write" nunca serán vistas
                                                                         en el navegador. Si es
                                                                         necesaria la salida de
                                                                         depuración, se sugiere que
                                                                         la salida de depuración sea
                                                                         escrita en un archivo en su
                                                                         lugar.
  <info></info>                         <strong>$destroy($sessionId)</strong>                          Esta llamada de retorno es
                                                                         ejecutada cuando una sesión
                                                                         es destruida con
                                                                         <strong>session_destroy()</strong> o con
                                                                         <strong>session_regenerate_id()</strong> con
                                                                         el parámetro destroy
                                                                         establecido en <info>true</info>. El
                                                                         valor devuelto debería ser
                                                                         <info>true</info> en caso de éxito,
                                                                         <info>false</info> en caso de error.
  <info></info>                         <strong>$gc($lifetime)</strong>                                La llamada de retorno del
                                                                         recolector de basura
                                                                         (Garbage Collector) es
                                                                         invocada internamente por
                                                                         PHP de manera periódica
                                                                         para destruir información
                                                                         antigua de sesiones. La
                                                                         frecuencia es controlada
                                                                         por session.gc_probability
                                                                         y session.gc_divisor. El
                                                                         valor del tiempo de vida
                                                                         (lifetime) que es pasado a
                                                                         esta llamada de retorno
                                                                         puede establecerse en
                                                                         session.gc_maxlifetime. El
                                                                         valor devuelto debería ser
                                                                         <info>true</info> en caso de éxito,
                                                                         <info>false</info> en caso de error.
  <info></info>                         <strong>$create_sid()</strong>                                 Esta retrollamada se
                                                                         ejecuta cuando se requiere
                                                                         un nuevo ID de sesión. No
                                                                         se proporcionan parámetros,
                                                                         y el valor devuelto debería
                                                                         ser un string que sea un ID
                                                                         de sesión válido para el
                                                                         gestor utilizado.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * 
     La directiva de configuración
     session.save_handler.
    
   * 
     La directiva de configuración
     session.serialize_handler.
    
   * La función <strong>register_shutdown_function()</strong>
   * La función <strong>session_register_shutdown()</strong> para PHP 5.4.0+


id: session_start
type: function
doc:
<comment>Description:</comment>
  Iniciar una nueva sesión o reanudar la existente
  
  <strong>session_start()</strong> crea una sesión o reanuda la actual basada en un identificador de sesión pasado
  mediante una petición GET o POST, o pasado mediante una cookie.
  
  Cuando <strong>session_start()</strong> es llamada o cuando se autoinicia una sesión, PHP llamará a los gestores de
  almacenamiento de sesiones open y read. Éstos serán un gestor de almacenamiento proporcionado por
  omisión o por extensiones de PHP (como SQLite o Memcached); o pueden ser un gestor personalizado
  como está definido en <strong>session_set_save_handler()</strong>. La llamada de retorno read recuperará cualquier
  información se de sesión existente (almacenada en un formato serializado especial) y será
  deserializada y usada para rellenar automáticamente la variable superglobal $_SESSION cuando la
  llamada de retorno read devuelva la información de sesión guardada a la gestión de sesiones de
  PHP.
  
  Para usar una sesión nominada llame a <strong>session_name()</strong> antes de llamar a <strong>session_start()</strong>.
  
  Cuando session.use_trans_sid está habilidado, la función <strong>session_start()</strong> registrará un gestor de
  salida interno para la reescritura de URL.
  
  Si un usuario utiliza <return>ob_gzhandler</return> o similar con <strong>ob_start()</strong>, el orden de las funciones es
  importante para la salida adecuada. Por ejemplo, <return>ob_gzhandler</return> se debe registrar antes de iniciar
  una sesión.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Si se proporciona, este array asociativo de opciones sobrescribirá las directivas
                   de configuración de sesiones establecidas actualmente. Las claves no deben
                   incluir el prefijo <return>session.</return>.
                   
                   Además del conjunto habitual de directivas de configuración, también se puede
                   proporcionar la opción <return>read_and_close</return>. Si se establece a <info>true</info>, resultará en el
                   cierre inmediato de la sesión después de haber sido leída, evitando así el
                   bloqueo inncesario si los datos de la sesión no han cambiado.

<comment>Return:</comment>
  <info>bool</info>  Esta función devuleve <info>true</info> si una sesión fue iniciada satisfactoriamente, si no, devuelve
        <info>false</info>.

<comment>See Also:</comment>
   * $_SESSION
   * 
     La directiva de configuarción session.auto_start
    
   * <strong>session_id()</strong>


id: session_status
type: function
doc:
<comment>Description:</comment>
  Devuelve el estado de la sesión actual
  
  <strong>session_status()</strong> se usa para devolver el estado de la sesión actual

<comment>Return:</comment>
  <info>int</info>  <info>PHP_SESSION_DISABLED</info> si las sesiones están deshabilitadas.<info>PHP_SESSION_NONE</info> si las sesiones
       están habilitadas, pero no existe ninguna.<info>PHP_SESSION_ACTIVE</info> si las sesiones están
       habilitadas, y existe una.
       
       <info>PHP_SESSION_DISABLED</info> si las sesiones están deshabilitadas.
       
       <info>PHP_SESSION_NONE</info> si las sesiones están habilitadas, pero no existe ninguna.
       
       <info>PHP_SESSION_ACTIVE</info> si las sesiones están habilitadas, y existe una.

<comment>See Also:</comment>
   * <strong>session_start()</strong>


id: session_unset
type: function
doc:
<comment>Description:</comment>
  Libera todas las variables de sesión
  
  La función <strong>session_unset()</strong> libera todas las variables de sesión actualmente registradas.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.


id: session_write_close
type: function
doc:
<comment>Description:</comment>
  Escribir información de sesión y finalizar la sesión
  
  Finaliza la sesión actual y almacena la información de la sesión.
  
  La información de la sesión normalmente se almacena después de que el script termine sin la
  necesidad de llamar a <strong>session_write_close()</strong>, pero ya que la información de la sesión está
  bloqueada para prevenir escrituras concurrentes, sólo el script puede operar sobre una sesión cada
  vez. Cuando se usan sub-ventanas (frames) junto con sesiones, experimentará que las sub-ventanas
  se cargan de una en una debido a este bloqueo. Puede reducir el tiempo necesario para cargar todas
  las sub-ventanas finalizando la sesión tan pronto como todos los cambios a las variables de sesión
  estén hechos.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * 
     La función <strong>session_register_shutdown()</strong>
    


id: set_error_handler
type: function
doc:
<comment>Description:</comment>
  Establecer una función de gestión de errores definida por el usuario
  
  Establece una función de usuario (<strong>$error_handler</strong>) para manejar los errores de un script.
  
  Esta función se puede usar para definir su propia forma de manejar los errores en tiempo de
  ejecución, por ejemplo en aplicaciones en las que se necesita hacer una limpieza de datos/archivos
  cuando ocurre un error crítico, o cuando se necesita provocar un error bajo ciertas condiciones
  (usando <strong>trigger_error()</strong>).
  
  Es importante recordar que el gestor de errores estándar de PHP es completamente evitado por los
  tipos de errores especificados por <strong>$error_types</strong> a menos que la función de llamada de retorno
  devuelva <info>false</info>. La configuración de <strong>error_reporting()</strong> no tendrá efecto y su gestor de errores será
  llamado de todas formas - aunque aún es capaz de leer el valor actual de error_reporting y actuar
  de manera apropiada. En particular, observe que este valor será 0 si a la sentencia que causó el
  error se le añadió al principio el operador de control de errores @ .
  
  También observe que es su responsabilidad realizar un <strong>die()</strong> si fuera necesario. Si la función de
  gestión de errores devuelve, la ejecución del script continuará con la siguiente sentencia después
  de la que causó el error.
  
  Los siguientes tipos de errores no pueden ser manejados con una función definida por el usuario:
  <info>E_ERROR</info>, <info>E_PARSE</info>, <info>E_CORE_ERROR</info>, <info>E_CORE_WARNING</info>, <info>E_COMPILE_ERROR</info>, <info>E_COMPILE_WARNING</info>, y la mayoría
  de <info>E_STRICT</info> ocasionados en el archivo desde donde se llamó a <strong>set_error_handler()</strong>.
  
  Si sucede algún error antes de que el script sea ejecutado (p.ej. en la carga de archivos) el
  gestor de errores personalizado no podrá ser llamado ya que no está registrado en ese momento.

<comment>Param:</comment>
  <info>callable</info>  <strong>$error_handler</strong>  Una llamada de retorno con la siguiente signatura. Se podría pasar <info>null</info>
                            en su lugar para reiniciar este gestor a su estado predeterminado.
                            También se puede proporcionar un nombre de una función, un array que
                            contenga una referencia a un objeto y un nombre de un método.
                            
                            
                            <info>bool</info>handler<info>int</info><strong>$errno</strong><info>string</info><strong>$errstr</strong><info>string</info><strong>$errfile</strong><info>int</info><strong>$errline</strong><info>array</info><strong>$errcontext</strong><strong>$errno</strong>
                            El primer parámetro, <strong>$errno</strong>, contiene el nivel del error ocasionado,
                            como un valor de tipo integer. <strong>$errstr</strong> El segundo parámetro, <strong>$errstr</strong>,
                            contiene el mensaje de error, como cadena. <strong>$errfile</strong> El tercer parámetro
                            es opcional, <strong>$errfile</strong>, que contiene el nombre de archivo que ocasionó el
                            error, como cadena. <strong>$errline</strong> El cuarto parámetro es opcional, <strong>$errline</strong>,
                            que contiene el número de línea donde ocurrió el error, como valor de
                            tipo integer. <strong>$errcontext</strong> El quinto parámetro es opcional, <strong>$errcontext</strong>,
                            el cuál es una matriz que apunta a la tabla de símbolos activa en el
                            punto donde ocurrió el error. En otras palabras, <strong>$errcontext</strong> contendrá
                            una matriz con cada variable que existe en el ámbito donde el error fue
                            provocado. El gestor de errores de usuario no debe modificar el contexto
                            del error.
                            
                            El primer parámetro, <strong>$errno</strong>, contiene el nivel del error ocasionado,
                            como un valor de tipo integer.
                            
                            El segundo parámetro, <strong>$errstr</strong>, contiene el mensaje de error, como
                            cadena.
                            
                            El tercer parámetro es opcional, <strong>$errfile</strong>, que contiene el nombre de
                            archivo que ocasionó el error, como cadena.
                            
                            El cuarto parámetro es opcional, <strong>$errline</strong>, que contiene el número de
                            línea donde ocurrió el error, como valor de tipo integer.
                            
                            El quinto parámetro es opcional, <strong>$errcontext</strong>, el cuál es una matriz que
                            apunta a la tabla de símbolos activa en el punto donde ocurrió el error.
                            En otras palabras, <strong>$errcontext</strong> contendrá una matriz con cada variable
                            que existe en el ámbito donde el error fue provocado. El gestor de
                            errores de usuario no debe modificar el contexto del error.
                            
                            Si la función devuelve <info>false</info> se continúa con el gestor de errores
                            normal.
  <info>int</info>       <strong>$errno</strong>          El primer parámetro, <strong>$errno</strong>, contiene el nivel del error ocasionado,
                            como un valor de tipo integer.
  <info>string</info>    <strong>$errstr</strong>         El segundo parámetro, <strong>$errstr</strong>, contiene el mensaje de error, como
                            cadena.
  <info>string</info>    <strong>$errfile</strong>        El tercer parámetro es opcional, <strong>$errfile</strong>, que contiene el nombre de
                            archivo que ocasionó el error, como cadena.
  <info>int</info>       <strong>$errline</strong>        El cuarto parámetro es opcional, <strong>$errline</strong>, que contiene el número de
                            línea donde ocurrió el error, como valor de tipo integer.
  <info>array</info>     <strong>$errcontext</strong>     El quinto parámetro es opcional, <strong>$errcontext</strong>, el cuál es una matriz que
                            apunta a la tabla de símbolos activa en el punto donde ocurrió el error.
                            En otras palabras, <strong>$errcontext</strong> contendrá una matriz con cada variable
                            que existe en el ámbito donde el error fue provocado. El gestor de
                            errores de usuario no debe modificar el contexto del error.
  <info>int</info>       <strong>$error_types</strong>    Se puede usar para enmascarar la provocación de la función
                            <strong>$error_handler</strong> al igual que la configuración error_reporting ini
                            controla los errores que se muestran. Sin esta máscara establecida
                            <strong>$error_handler</strong> será llamada para cada error sin tener en cuenta la
                            configuración de error_reporting.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve una cadena que contiene el gestor de errores definido anteriormente (si lo hay).
         Si se usa el gestor de errores interno se devuelve <info>null</info>. <info>null</info> también es devuelto en caso
         de un error como una llamada de retorno no válida. Si el gestor de errores anterior era un
         método de una clase, esta función devolverá una matriz indexada con los nombres de las
         clases y métodos.

<comment>See Also:</comment>
   * <class>ErrorException</class>
   * <strong>error_reporting()</strong>
   * <strong>restore_error_handler()</strong>
   * <strong>trigger_error()</strong>
   * constantes de niveles de error


id: set_exception_handler
type: function
doc:
<comment>Description:</comment>
  Establece una función de gestión de excepciones definida por el usuario
    
  
  Establece el manejador de excepciones predeterminado si una excepción no es capturada dentro de un
  bloque try/catch. La ejecución se detendrá después de la llamada a <strong>$exception_handler</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$exception_handler</strong>  Nombre de la función a llamar cuando ocurra una excepción no
                                capturada. Es necesario que esta función de gestión acepte un
                                parámetro, que será el objeto de excepción que fue lanzado. Esta es
                                la firma del manejador:
                                
                                <info>void</info>handler<info>Exception</info><strong>$ex</strong>
                                
                                Desde PHP 7, la mayoría de los errores se notifican lanzando
                                excepciones <class>Error</class>, las cuales serán también capturadas por el
                                manejador. <class>Error</class> y <class>Exception</class> implementan la interfaz <class>Throwable</class>. Esta
                                es la signatura del manejador desde PHP 7:
                                
                                <info>void</info>handler<info>Throwable</info><strong>$ex</strong>
                                
                                Se podría pasar <info>null</info> en su lugar para reiniciar este manejador a su
                                estado predeterminado.
                                
                                Observe que al proporcionar una <class>Exception</class> explícita como tipo
                                implicado al parámetro <strong>$ex</strong> en una retrollamada causará problemas con
                                la jerarquía de excepciones cambiada en PHP 7.

<comment>Return:</comment>
  <info>callable</info>  Devuelve el nombre del manejador de excepciones definido anteriormente, o <info>null</info> en caso
            de error. Si no se definió un manejador anterior también devolverá <info>null</info>.

<comment>See Also:</comment>
   * <strong>restore_exception_handler()</strong>
   * <strong>restore_error_handler()</strong>
   * <strong>error_reporting()</strong>
   * Excepciones de PHP 5


id: set_file_buffer
type: function
doc:
<comment>Description:</comment>
  Alias de stream_set_write_buffer
  
  Esta función es un alias de:  <strong>stream_set_write_buffer()</strong>.


id: set_include_path
type: function
doc:
<comment>Description:</comment>
  Establece la opción de configuración include_path
  
  Establece la opción de configuración include_path durante la duración del script.

<comment>Param:</comment>
  <info>string</info>  <strong>$new_include_path</strong>  El nuevo valor para include_path

<comment>Return:</comment>
  <info>string</info>  Devuelve el valor antiguo de include_path en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>ini_set()</strong>
   * <strong>get_include_path()</strong>
   * <strong>restore_include_path()</strong>
   * <strong>include()</strong>


id: set_time_limit
type: function
doc:
<comment>Description:</comment>
  Limita el tiempo máximo de ejecución
  
  Establece el número de segundos que se permite la ejecución de un script. Si esto se alcanza, el
  script devuelve un error fatal. El límite predeterminado es de 30 segundos o, si es que existe, el
  valor <return>max_execution_time</return> definido en el php.ini.
  
  Cuando es llamado, <strong>set_time_limit()</strong> reinicia el contador de tiempo de espera de cero. En otras
  palabras, si el tiempo de espera por defecto es de 30 segundos, y 25 segundos en la ejecución del
  script se hace la llamada <return>set_time_limit(20)</return>, el script se ejecutará durante un total de 45
  segundos antes de que se agote el tiempo.

<comment>Param:</comment>
  <info>int</info>  <strong>$seconds</strong>  El tiempo de ejecución máximo, en segundos. Si se pone a cero se impone sin límite
                 de tiempo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, o <info>false</info> en caso de fallo.

<comment>See Also:</comment>
   * max_execution_time
   * max_input_time


id: setcookie
type: function
doc:
<comment>Description:</comment>
  Enviar una cookie
  
  <strong>setcookie()</strong> define una cookie para ser enviada junto con el resto de cabeceras HTTP. Como otros
  encabezados, cookies deben ser enviadas antes de cualquier salida en el script (este es un
  protocolo de restricción). Esto requiere que hagas llamadas a esta función antes de cualquier
  salida, incluyendo etiquetas <return>\<html&gt;</return> y <return>\<head&gt;</return> así como cualquier espacio en blanco.
  
  Una vez que las cookies se han establecido, se puede acceder a ellas en la siguiente página de
  carga con el array $_COOKIE. valores Cookie también pueden existir en $_REQUEST.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>      El nombre de la cookie.
  <info>string</info>  <strong>$value</strong>     El valor de la cookie. Este valor se almacena en el ordenador del cliente; no
                     almacenar información sensible. Asumiendo que el <strong>$name</strong> es <return>'cookiename'</return>, este
                     valor es recuperado a través de $_COOKIE['cookiename']
  <info>int</info>     <strong>$expires</strong>   El tiempo en que la cookie expira. Esta es una marca de tiempo Unix en número
                     de segundos desde la época. En otras palabras, lo más probable es que se haga
                     con la función <strong>time()</strong> más el número de segundos antes de que quiera que expire.
                     O se podría usar <strong>mktime()</strong>. <return>time()+60*60*24*30</return> hará que la cookie establecida
                     expire en 30 días. Si se establece a 0, o es omitido, la cookie expirará al
                     final de la sesión (cuando el navegador es cerrado).
                     
                      Puede notar que el parámetro <strong>$expires</strong> toma una marca de tiempo Unix, en lugar
                     de formato de fecha <return>Wdy, DD-Mon-YYYY HH:MM:SS GMT</return>, esto es porque PHP hace la
                     conversión internamente.
                     
                     Puede notar que el parámetro <strong>$expires</strong> toma una marca de tiempo Unix, en lugar
                     de formato de fecha <return>Wdy, DD-Mon-YYYY HH:MM:SS GMT</return>, esto es porque PHP hace la
                     conversión internamente.
  <info>string</info>  <strong>$path</strong>      La ruta dentro del servidor en la que la cookie estará disponible. Si se
                     utiliza <return>'/'</return>, la cookie estará disponible en la totalidad del <strong>$domain</strong>. Si se
                     configura como <return>'/foo/'</return>, la cookie sólo estará disponible dentro del directorio
                     <return>/foo/</return> y todos sus sub-directorios en el <strong>$domain</strong>, tales como <return>/foo/bar/</return>. El valor
                     por defecto es el directorio actual en donde se está configurando la cookie.
  <info>string</info>  <strong>$domain</strong>    El (sub)dominio al que la cookie está disponible. Estableciendo esto a un
                     subdominio (como <return>'www.example.com'</return>) hará que la cookie esté disponible para ese
                     subdominio y todos los demás subdominios del mismo (p.e. w2.www.example.com).
                     Para que la cookie esté disponible para todo el dominio (incluyendo todos sus
                     subdominios), simplemente establezca el nombre de domonio (<return>'example.com'</return>, en
                     este caso).
                     
                     Los navegadores más antiguos todavía implementan la obsoleta RFC 2109 pueden
                     necesitar un <return>.</return> para comparar todos los subdominios.
  <info>bool</info>    <strong>$secure</strong>    Indica que la cookie sólo debiera transmitirse por una conexión segura HTTPS
                     desde el cliente. Cuando se configura como <info>true</info>, la cookie sólo se creará si es
                     que existe una conexión segura. Del lado del servidor, depende del programador
                     el enviar este tipo de cookies solamente a través de conexiones seguras (por
                     ejemplo, con $_SERVER["HTTPS"]).
  <info>bool</info>    <strong>$httponly</strong>  Cuando es <info>true</info> la cookie será accesible sólo a través del protocolo HTTP. Esto
                     significa que la cookie no será accesible por lenguajes de scripting, como
                     JavaScript. Se ha indicado que esta configuración ayuda efectivamente a reducir
                     el robo de identidad a través de ataques XSS (aunque no es soportada por todos
                     los navegadores). pero esa afirmación se disputa a menudo. Agregado en PHP
                     5.2.0. Puede ser <info>true</info> o <info>false</info>
  <info>array</info>   <strong>$options</strong>   Un <info>array</info> asociativo que puede tener cualquiera de las claves <return>expires</return>, <return>path</return>,
                     <return>domain</return>, <return>secure</return>, <return>httponly</return> y <return>samesite</return>. Los valores tienen el mismo significado
                     que se describe para los parámetros con el mismo nombre. El valor de el
                     elemento <return>samesite</return> debería ser <return>None</return>, <return>Lax</return> o <return>Strict</return>. Si no se da ninguna de las
                     opciones permitidas, sus valores por defecto son los mismos que los valores por
                     defecto de los parámetros explícitos. Si el elemento <return>samesite</return> es omitido, no se
                     establece ningún atributo de la cookie SameSite.

<comment>Return:</comment>
  <info>bool</info>  Si existe algún tipo de output anterior a la llamada de esta función, <strong>setcookie()</strong> fallará y
        retornará <info>false</info>. Si <strong>setcookie()</strong> ejecuta satisfactoriamente, retornará <info>true</info>. Esto no indica
        si es que el usuario ha aceptado la cookie o no.

<comment>See Also:</comment>
   * <strong>header()</strong>
   * <strong>setrawcookie()</strong>
   * cookies section
   * RFC 6265
   * RFC 2109


id: setlocale
type: function
doc:
<comment>Description:</comment>
  Establecer la información del localismo
  
  Establece la información del localismo.

<comment>Param:</comment>
  <info>int</info>     <strong>$category</strong>  <strong>$category</strong> es una constante con nombre que especifica la categoría de las
                     funciones afectadas por el localismo: <info>LC_ALL</info> para establecer todas las
                     siguientes <info>LC_COLLATE</info> para la comparación de cadenas; véase <strong>strcoll()</strong> <info>LC_CTYPE</info>
                     para la clasificación y conversión de caracteres, por ejemplo <strong>strtoupper()</strong>
                     <info>LC_MONETARY</info> para <strong>localeconv()</strong> <info>LC_NUMERIC</info> para el separador decimal (véase
                     también <strong>localeconv()</strong>) <info>LC_TIME</info> para el formato de fecha y hora con <strong>strftime()</strong>
                     <info>LC_MESSAGES</info> para las respuestas del sistema (disponible si PHP fue compilado
                     con <return>libintl</return>)
                     
                     <info>LC_ALL</info> para establecer todas las siguientes
                     
                     <info>LC_COLLATE</info> para la comparación de cadenas; véase <strong>strcoll()</strong>
                     
                     <info>LC_CTYPE</info> para la clasificación y conversión de caracteres, por ejemplo
                     <strong>strtoupper()</strong>
                     
                     <info>LC_MONETARY</info> para <strong>localeconv()</strong>
                     
                     <info>LC_NUMERIC</info> para el separador decimal (véase también <strong>localeconv()</strong>)
                     
                     <info>LC_TIME</info> para el formato de fecha y hora con <strong>strftime()</strong>
                     
                     <info>LC_MESSAGES</info> para las respuestas del sistema (disponible si PHP fue compilado
                     con <return>libintl</return>)
  <info>string</info>  <strong>$locale</strong>    Si <strong>$locale</strong> es <info>null</info> o el string vacío  <return>""</return>, los nombres de los localismos se
                     establecerán a partir de los valores de las variables de entorno con los mismos
                     nombres que las categorías anteriores, o desde "LANG".
                     
                     Si <strong>$locale</strong> es <return>"0"</return>, el localismo no se ve afectado, solamente devuelve la
                     configuración actual.
                     
                     Si <strong>$locale</strong> es un array o le siguen parámetros adicionales, cada elemento del
                     array o parámetro se intenta establecer como nuevo localismo hasta que se tenga
                     éxito. Esto es útil si un localismo se conoce con diferentes nombres en
                     diferentes sistemas, o para proporcionar un respaldo para un localismo
                     posiblemente no disponible.
  <info>string</info>  <strong>$...</strong>       (String opcional o array de parámetros para probarlos como localismos hasta que
                     se tenga éxito.)

<comment>Return:</comment>
  <info>string</info>  Devuelve el nuevo localismo actual o <info>false</info> si la funcionalidad del localismo no está
          implementada en la plataforma, el localismo especificado no existe, o el nombre de la
          categoría no es válido.
          
          Un nombre de categoría no válido también produce un mensaje de advertencia. Se pueden
          encontrar los nombres de las categorías/localismos en la RFC 1766 y en la ISO 639.
          Diferentes sistemas tienen diferentes nomenclaturas para los localismos.
          
          El valor de retorno de <strong>setlocale()</strong> depende del sistema donde se está ejecutando PHP.
          Devuelve exactamente lo que la función <return>setlocale</return> del sistema devuelve.


id: setrawcookie
type: function
doc:
<comment>Description:</comment>
  Enviar una cookie sin codificar su valor
  
  <strong>setrawcookie()</strong> es exactamente el mismo que  <strong>setcookie()</strong> excepto que el valor de la cookie  no será
  automáticamente codificado cuando se envía al navegador.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>setcookie()</strong>


id: settype
type: function
doc:
<comment>Description:</comment>
  Establece el tipo de una variable
  
  Establece el tipo de la variable <strong>$var</strong> a <strong>$tipo</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$var</strong>   La variable a ser convertida.
  <info></info>       <strong>$tipo</strong>  Los posibles valores de <strong>$tipo</strong> son:  "boolean" o "bool"  "integer" o "int"  "float" o
                "double"  "string"  "array"  "object"  "null"
                
                "boolean" o "bool"
                
                "integer" o "int"
                
                "float" o "double"
                
                "string"
                
                "array"
                
                "object"
                
                "null"

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>gettype()</strong>
   * type-casting
   * type-juggling


id: sha1
type: function
doc:
<comment>Description:</comment>
  Calcula el 'hash' sha1 de un string
  
  Calcula el hash sha1 de <strong>$str</strong> utilizando el Algoritmo 1 US Secure Hash Algorithm 1.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>         El string de entrada.
  <info>bool</info>    <strong>$raw_output</strong>  Si el <strong>$raw_output</strong> opcional se establece en <info>true</info>, el resumen sha1 será
                       devuelto en formato binario sin tratar con una longitud de 20; de lo
                       contrario, el valor retornado será un número hexadecimal de 40 caracteres.

<comment>Return:</comment>
  <info>string</info>  Devuelve el hash sha1 como un string.

<comment>See Also:</comment>
   * <strong>sha1_file()</strong>
   * <strong>crc32()</strong>
   * <strong>md5()</strong>
   * <strong>hash()</strong>
   * <strong>crypt()</strong>
   * <strong>password_hash()</strong>


id: sha1_file
type: function
doc:
<comment>Description:</comment>
  Calcula el hash sha1 de un archivo
  
  Calcula el hash sha1 del archivo especificado mediante <strong>$filename</strong> utilizando el algoritmo de hash
  seguro 1 de US y devuelve ese hash. El hash es un número hexadecimal de 40 caracteres.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    El nombre del archivo para el hash.
  <info>bool</info>    <strong>$raw_output</strong>  Cuando es <info>true</info>, devuelve el resumen en formato binario sin tratar con una
                       longitud de 20.

<comment>Return:</comment>
  <info>string</info>  Devuelve un string cuando es exitoso o <info>false</info> si no es así.

<comment>See Also:</comment>
   * <strong>sha1()</strong>
   * <strong>md5_file()</strong>
   * <strong>crc32()</strong>


id: shell_exec
type: function
doc:
<comment>Description:</comment>
  Ejecutar un comando mediante el intérprete de comandos y devolver la salida completa como una
  cadena
  
  Esta función es idéntica al operador de comillas invertidas.

<comment>Param:</comment>
  <info>string</info>  <strong>$cmd</strong>  El comando que será ejecutado.

<comment>Return:</comment>
  <info>string</info>  La salida del comando ejecutado o <info>null</info> si ocurre un error o el comando no produce ninguna
          salida.
          
          Esta función puede devolver <info>null</info> cuando ocurre un error o cuando el programa no produce
          ninguna salida. No es posible detectar los fallos de ejecución usando esta función. <strong>exec()</strong>
          debería usarse cuando sea necesario el acceso al código de salida del programa.

<comment>See Also:</comment>
   * <strong>exec()</strong>
   * <strong>escapeshellcmd()</strong>


id: shm_attach
type: function
doc:
<comment>Description:</comment>
  Crea o abre un segmento de memoria compartida
  
  <strong>shm_attach()</strong> devuelve un id que se puede usar para acceder a la memoria compartida de System V con
  la clave dada por <strong>$key</strong>, la primera llamada crea el segmento de memoria compartida con <strong>$memsize</strong> y
  los permisos opcionales a nivel de bits <strong>$perm</strong>.
  
  Una segunda llamada a <strong>shm_attach()</strong> para la misma clave dada por <strong>$key</strong> devolverá un identificador de
  memoria diferente, pero ambos identificadores acceden a la misma memoria compartida subyacente.
  <strong>$memsize</strong> y <strong>$perm</strong> serán ignorados.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>      Un ID numérico de segmento de memoria compartida
  <info>int</info>  <strong>$memsize</strong>  El tamaño de la memoria. Si no se proporciona, por defecto es el valor de
                 <return>sysvshm.init_mem</return> del php.ini, de otro modo es 10000 bytes.
  <info>int</info>  <strong>$perm</strong>     Los bits de permiso opcionales. Por defecto es 0666.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un identificador de segmento de memoria compartida.

<comment>See Also:</comment>
   * <strong>shm_detach()</strong>
   * <strong>ftok()</strong>


id: shm_detach
type: function
doc:
<comment>Description:</comment>
  Desconectarse del segmento de memoria compartida
  
  <strong>shm_detach()</strong> desconecta de la memoria compartida dada por el parámetro <strong>$shm_identifier</strong> creado por
  <strong>shm_attach()</strong>. Recuerde que la memoria compartida aún existe en el sistema Unix y que la
  información todavía está presente.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  Un gestor de recurso de memoria compartida devuelto por <strong>shm_attach()</strong>

<comment>Return:</comment>
  <info>bool</info>  <strong>shm_detach()</strong> siempre devuelve <info>true</info>.

<comment>See Also:</comment>
   * <strong>shm_attach()</strong>
   * <strong>shm_remove()</strong>
   * <strong>shm_remove_var()</strong>


id: shm_get_var
type: function
doc:
<comment>Description:</comment>
  Devuelve una variable desde la memoria compartida
  
  <strong>shm_get_var()</strong> devuelve la variable con la clave dada por <strong>$variable_key</strong>, del segmento de memoria
  compartida dado. La variable todavía está presente en la memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  Segmento de memoria compartida, obtenido desde <strong>shm_attach()</strong>.
  <info>int</info>       <strong>$variable_key</strong>    La clave de la variable.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve la variable con la clave dada.

<comment>See Also:</comment>
   * <strong>shm_has_var()</strong>
   * <strong>shm_put_var()</strong>


id: shm_has_var
type: function
doc:
<comment>Description:</comment>
  Verificar si existe una entrada específica
  
  Verifica si una clave específica existe dentro de un segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  Segmento de memoria compartida, obtenido desde <strong>shm_attach()</strong>.
  <info>int</info>       <strong>$variable_key</strong>    La clave de la variable.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la entrada existe, si no <info>false</info>

<comment>See Also:</comment>
   * <strong>shm_get_var()</strong>
   * <strong>shm_put_var()</strong>


id: shm_put_var
type: function
doc:
<comment>Description:</comment>
  Inserta o actualiza una variable en la memoria compartida
  
  <strong>shm_put_var()</strong> inserta o actualiza <strong>$variable</strong> con la clave cada por <strong>$variable_key</strong>.
  
  Se emitirán advertencias (nivel <info>E_WARNING</info>) si <strong>$shm_identifier</strong> no es un índice de memoria
  compartida SysV válido o si no hay suficiente memoria compartida restante para completar la
  petición.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  Un gestor de recurso de memoria compartida devuelto por <strong>shm_attach()</strong>
  <info>int</info>       <strong>$variable_key</strong>    La clave de la variable.
  <info>mixed</info>     <strong>$variable</strong>        La variable. Todos los tipos de variables que soporta <strong>serialize()</strong> se
                             pueden usar: generalmente esto significa todos los tipos excepto los
                             recursos y algunos objetos internos que no pueden ser serialzados.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>shm_get_var()</strong>
   * <strong>shm_has_var()</strong>


id: shm_remove
type: function
doc:
<comment>Description:</comment>
  Elimina la memoria compartida de sistemas Unix
  
  <strong>shm_remove()</strong> elimina el identificador de memoria compartida <strong>$shm_identifier</strong>. Toda la información
  será destruida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  El identificador de memoria compartida devuelto por <strong>shm_attach()</strong>

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>shm_remove_var()</strong>


id: shm_remove_var
type: function
doc:
<comment>Description:</comment>
  Eliminar una variable de la memoria compartida
    
  
  Elimina una variable con la clave dada por <strong>$variable_key</strong> y libera la memoria ocupada.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shm_identifier</strong>  El identificador de memoria compartida devuelto por <strong>shm_attach()</strong>
  <info>int</info>       <strong>$variable_key</strong>    La clave de la variable.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>shm_remove()</strong>


id: shmop_close
type: function
doc:
<comment>Description:</comment>
  Cerrar un segmento de memoria compartida
  
  <strong>shmop_close()</strong> se utiliza para cerrar un segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shmid</strong>  El recurso del segmento de memoria compartida creado por  <strong>shmop_open()</strong>

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor.

<comment>See Also:</comment>
   * <strong>shmop_open()</strong>


id: shmop_delete
type: function
doc:
<comment>Description:</comment>
  Borrar segmento de memoria compartida
  
  <strong>shmop_delete()</strong> es utilizado para borrar un segmento de memoria compartida.

<comment>Param:</comment>
  <info>resource</info>  <strong>$shmid</strong>  El recurso de memoria compartida creado por  <strong>shmop_open()</strong>

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito o <info>false</info> en caso de error.


id: shmop_open
type: function
doc:
<comment>Description:</comment>
  Crea o abre un segmento de memoria compartida
  
  <strong>shmop_open()</strong> puede crear o abrir un segmento de memoria compartida.

<comment>Param:</comment>
  <info>int</info>     <strong>$key</strong>    Identificador que el sistema utilizará para ese segmento de memoria compartida.
                  Puede ser indicado tanto en formato decimal como hexadecimal.
  <info>string</info>  <strong>$flags</strong>  Los indicadores que puede usar son:  "a" para acceder (establece SHM_RDONLY para
                  shmat) utilice este indicador cuando necesite abrir un segmento de memoria
                  compartida  de sólo lectura  "c" para crear (establece IPC_CREATE) utilice este
                  indicador cuando necesite crear un nuevo segmento de memoria compartida o para
                  intentar abrir en modo de lectura y escritura un segmento que ya existe  "w" para
                  acceder en modo de lectura y escritura utilice este indicador cuando necesite leer
                  un segmento de memoria compartida y además poder escribir en él, se trata de la
                  opción más habitual en la mayoría de los casos.  "n" crea un nuevo segmento de
                  memoria compartida (establece IPC_CREATE|IPC_EXCL) utilice este indicador cuando
                  necesite crear un nuevo segmento de memoria compartida,  pero si existe otro
                  segmento de memoria compartida con la misma clave, fallará. Esta opción  es útil
                  para propósitos de seguridad que evitan  por ejemplo los exploit conocidos como
                  "condiciones de carrera" (en inglés "race conditions").
                  
                  "a" para acceder (establece SHM_RDONLY para shmat) utilice este indicador cuando
                  necesite abrir un segmento de memoria compartida  de sólo lectura
                  
                  "c" para crear (establece IPC_CREATE) utilice este indicador cuando necesite crear
                  un nuevo segmento de memoria compartida o para intentar abrir en modo de lectura y
                  escritura un segmento que ya existe
                  
                  "w" para acceder en modo de lectura y escritura utilice este indicador cuando
                  necesite leer un segmento de memoria compartida y además poder escribir en él, se
                  trata de la opción más habitual en la mayoría de los casos.
                  
                  "n" crea un nuevo segmento de memoria compartida (establece IPC_CREATE|IPC_EXCL)
                  utilice este indicador cuando necesite crear un nuevo segmento de memoria
                  compartida,  pero si existe otro segmento de memoria compartida con la misma
                  clave, fallará. Esta opción  es útil para propósitos de seguridad que evitan  por
                  ejemplo los exploit conocidos como  "condiciones de carrera" (en inglés "race
                  conditions").
  <info>int</info>     <strong>$mode</strong>   Permisos que se van a asignar al segmento de memoria compartida, estos son
                  similares a los que se asignan a los archivos. Los permisos deben pasarse en
                  formato octal, como por ejemplo <return>0644</return>
  <info>int</info>     <strong>$size</strong>   El tamaño en bytes del segmento de memoria compartida que quiere crear

<comment>Return:</comment>
  <info>resource</info>  En caso de éxito <strong>shmop_open()</strong> devolverá un recurso que puede utilizar para acceder al
            segmento de memoria compartida que ha creado. <info>false</info> es devuelto en caso de fallo.

<comment>See Also:</comment>
   * <strong>shmop_close()</strong>
   * <strong>shmop_delete()</strong>


