# php_manual

id: PDO::SQLSRV_TXN_SNAPSHOT
type: constant
doc:
<comment>Description:</comment>
  Esta constante es un valor aceptable para la clave TransactionIsolation del DSN de SQLSRV.  Esta
  constante establece el nivel de aislamiento para la conexión a Snapshot.


id: PDO::__construct
type: function
doc:
<comment>Description:</comment>
  Crea una instancia de PDO que representa una conexión a una base de datos
    
  
  Crea una instancia de PDO para representar una conexión a la base de datos solicitada.

<comment>Param:</comment>
  <info>string</info>  <strong>$dsn</strong>  EL Nombre del Origen de Datos (DSN), contiene la información requerida para
                conectarse a la base de datos.
                
                En general, un DSN consiste en el nombre del controlador de PDO, seguido por dos
                puntos, seguido por la sintaxis específica del controlador de PDO para la conexión.
                Hay más información disponible en la documentación de controladores específicos de
                PDO.
                
                El parámetro <strong>$dsn</strong> admite tres métodos diferentes de especificar los parámetros
                requeridos para crear la conexión a la base de datos:
                
                Invocación del controlador<strong>$dsn</strong> contiene el DSN completo. Invocación del URI<strong>$dsn</strong> está
                formado por uri: seguido por un URI que define la ubicación de un fichero que
                contiene el string del DSN. El URI puede especificar un fichero local o un URL
                remoto. uri:file:///ruta/al/fichero_dsnMediante un alias<strong>$dsn</strong> está formado por un
                nombre, <strong>$name</strong>, que se corresponde con pdo.dsn.<strong>$name</strong> en php.ini, definiendo el string
                del DSN.  El alias debe estar definido en php.ini, y no en .htaccess o httpd.conf
                
                <strong>$dsn</strong> contiene el DSN completo.
                
                <strong>$dsn</strong> está formado por uri: seguido por un URI que define la ubicación de un fichero
                que contiene el string del DSN. El URI puede especificar un fichero local o un URL
                remoto.
                
                uri:file:///ruta/al/fichero_dsn
                
                <strong>$dsn</strong> está formado por un nombre, <strong>$name</strong>, que se corresponde con pdo.dsn.<strong>$name</strong> en
                php.ini, definiendo el string del DSN.
                
                El alias debe estar definido en php.ini, y no en .htaccess o httpd.conf
  <info>string</info>  <strong>$dsn</strong>  <strong>$dsn</strong> contiene el DSN completo.
  <info>string</info>  <strong>$dsn</strong>  <strong>$dsn</strong> está formado por uri: seguido por un URI que define la ubicación de un fichero
                que contiene el string del DSN. El URI puede especificar un fichero local o un URL
                remoto.
                
                uri:file:///ruta/al/fichero_dsn
  <info>string</info>  <strong>$dsn</strong>  <strong>$dsn</strong> está formado por un nombre, <strong>$name</strong>, que se corresponde con pdo.dsn.<strong>$name</strong> en
                php.ini, definiendo el string del DSN.
                
                El alias debe estar definido en php.ini, y no en .htaccess o httpd.conf

<comment>Return:</comment>
  <info>unknown</info>  Devuelve un objeto PDO en caso de éxito.


id: PDO::beginTransaction
type: function
doc:
<comment>Description:</comment>
  Inicia una transacción
    
  
  Desctiva el modo 'autocommit'. Mientras el modo 'autocommit' esté desactivado, no se consignarán
  los cambios realizados en la base de datos a través de una instancia de PDO hasta que se finalice
  la transacción con una llamada a <strong>PDO::commit()</strong>. Una llamada a <strong>PDO::rollBack()</strong> revertirá todos los
  cambios de la base de datos y devolverá la conexión al modo 'autocommit'.
  
  Algunas bases de datos, incluida MySQL, ejecután automáticamente un  COMMIT implícito cuando una
  sentencia de definición de lenguaje de base de datos (DDL), tal como DROP TABLE o CREATE TABLE, se
  ejecutan en una transacción. El COMMIT implícito prevendrá de la reversión de cualquier otro
  cambio dentro del límite de la transacció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>PDO::commit()</strong>
   * <strong>PDO::rollBack()</strong>
   * Transacciones y autoconsigna


id: PDO::commit
type: function
doc:
<comment>Description:</comment>
  Consigna una transacción
    
  
  Consigna una transacción, devolviendo la conexión a la base de datos al modo 'autocommit' hasta
  que la siguiente llamada a <strong>PDO::beginTransaction()</strong> inicie una nueva transacció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>PDO::beginTransaction()</strong>
   * <strong>PDO::rollBack()</strong>
   * Transacciones y 'auto-commit'


id: PDO::cubrid_schema
type: function
doc:
<comment>Description:</comment>
  Obtiene la información del esquema solicitada
  
  Esta función se usa para obtener la información del esquema solicitada de una base de datos. Se ha
  de designar <strong>$table_name</strong>, si se quiere obtener información sobre una cierta tabla, <strong>$col_name</strong>, si se
  quiere obtener información sobre una cierta columna (se puede usar solamente con
  PDO::CUBRID_SCH_COL_PRIVILEGE).
  
  El resultado de esta función es devuelto como un array de dos dimensiones (columna (array
  asociativo) * fila (array numérico)). La siguiente tabla muestra los tipos de esquemas y la
  estructura de columna del array resultante que se devuelve basándose en el tipo de esquema.
  
  Composición del resultado de cada tipoEsquemaNúmero de columnaNombre de
  columnaValorPDO::CUBRID_SCH_TABLE1NAME2TYPE0:system table 1:view
  2:tablePDO::CUBRID_SCH_VIEW1NAME2TYPE1:viewPDO::CUBRID_SCH_QUERY_SPEC1QUERY_SPECPDO::CUBRID_SCH_ATTRIBUTE
  / PDO::CUBRID_SCH_TABLE_ATTRIBUTE1ATTR_NAME2DOMAIN3SCALE4PRECISION5INDEXED1:indexed6NOT NULL1:not
  null7SHARED1:shared8UNIQUE1:unique9DEFAULT10ATTR_ORDERbase:111CLASS_NAME12SOURCE_CLASS13IS_KEY1:keyPDO::CUBRID_SCH_METHOD
  /
  PDO::CUBRID_SCH_TABLE_METHOD1NAME2RET_DOMAIN3ARG_DOMAINPDO::CUBRID_SCH_METHOD_FILE1METHOD_FILEPDO::CUBRID_SCH_SUPER_TABLE
  / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE1CLASS_NAME2TYPE0:system table
  1:view 2:tablePDO::CUBRID_SCH_CONSTRAINT1TYPE0:unique 1:index 2:reverse unique 3:reverse
  index2NAME3ATTR_NAME4NUM_PAGES5NUM_KEYS6PRIMARY_KEY1:primary
  key7KEY_ORDERbase:1PDO::CUBRID_SCH_TRIGGER1NAME2STATUS3EVENT4TARGET_CLASS5TARGET_ATTR6ACTION_TIME7ACTION8PRIORITY9CONDITION_TIME10CONDITIONPDO::CUBRID_SCH_TABLE_PRIVILEGE
  / PDO::CUBRID_SCH_COL_PRIVILEGE1CLASS_NAME /
  ATTR_NAME2PRIVILEGE3GRANTABLEPDO::CUBRID_SCH_PRIMARY_KEY1CLASS_NAME2ATTR_NAME3KEY_SEQbase:14KEY_NAMEPDO::CUBRID_SCH_IMPORTED_KEYS
  / PDO::CUBRID_SCH_EXPORTED_KEYS /
  PDO::CUBRID_SCH_CROSS_REFERENCE1PKTABLE_NAME2PKCOLUMN_NAME3FKTABLE_NAMEbase:14FKCOLUMN_NAME5KEY_SEQbase:16UPDATE_ACTION0:cascade
  1:restrict 2:no action 3:set null7DELETE_ACTION0:cascade 1:restrict 2:no action 3:set
  null8FK_NAME9PK_NAME

<comment>Param:</comment>
  <info>int</info>     <strong>$schema_type</strong>  El tipo de esquema del que se quiere saber.
  <info>string</info>  <strong>$table_name</strong>   La tabla de la que se quiere conocer el esquema.
  <info>string</info>  <strong>$col_name</strong>     La columna de la que se quiere conocer el esquema.

<comment>Return:</comment>
  <info>array</info>  Un array que contiene la información del esquema, cuando el proceso tiene éxito;
         
         FALSE, cuando el proceso no tiene éxito


id: PDO::errorCode
type: function
doc:
<comment>Description:</comment>
  Obtiene un SQLSTATE asociado con la última operación en el manejador de la base de datos

<comment>Return:</comment>
  <info>mixed</info>  Devuelve un SQLSTATE, un identificador de cinco caracteres definidos en el estándar ANSI
         SQL-92. Brevemente, un SQLSTATE está formado por dos caracteres  con el valor de la clase
         seguidos por tres caracteres con el valor de la subclase. Un valor de clase de 01 indica un
         aviso y se encuentra acompañado por un código de retorno de SQL_SUCCESS_WITH_INFO. Valores
         de clase distintos del '01', excepto la clase 'IM', indican un error. La clase 'IM' es
         específica para avisos y errores que derivan de la implementación del PDO (o quizás ODBC,
         si se está usando el driver ODBC) por sí mismo. El valor de subclase '000' en cualquier
         clase indica que no hay subclases para ese SQLSTATE.
         
         <strong>PDO::errorCode()</strong> sólo devuelve códigos de error en operaciones realizadas directamente
         sobre el manejador de la base de datos. Si se crea un objeto PDOStatement con
         <strong>PDO::prepare()</strong> o <strong>PDO::query()</strong> y éstas provocan un error en el manejador de la sentencia,
         <strong>PDO::errorCode()</strong> no reflejará ese error. Se debe llamar a <strong>PDOStatement::errorCode()</strong> para
         devolver el código de error para una operación realizada por un manejador de sentencia
         particular.
         
         Devuelve <info>null</info> si no se ha ejecutado ninguna operación en el manejador de la base de datos.

<comment>See Also:</comment>
   * <strong>PDO::errorInfo()</strong>
   * <strong>PDOStatement::errorCode()</strong>
   * <strong>PDOStatement::errorInfo()</strong>


id: PDO::errorInfo
type: function
doc:
<comment>Description:</comment>
  Obtiene información extendida del error asociado con la última operación del manejador de la base
  de datos

<comment>Return:</comment>
  <info>array</info>  <strong>PDO::errorInfo()</strong> devuelve un array con la información del error sobre la última operación
         realizada por el manejador de la base de datos. El array contiene los siguientes campos:
         ElementInformation0Código de error SQLSTATE (un identificador de cinco caracteres
         alfanuméricos definidos según el estándar ANSI SQL).1Código de error específico del
         driver.2Mensaje del error específico del driver.
         
         Si el código de error SQLSTATE no está definido o no hay un error específico del driver,
         los elementos siguientes al 0 estarán establecidos como <info>null</info>.
         
         <strong>PDO::errorInfo()</strong> sólo devuelve información de error para operaciones realizadas
         directamente sobre el manejador de la base de datos. Si se crea un objeto PDOStatement con
         <strong>PDO::prepare()</strong> o <strong>PDO::query()</strong> y se eleva un error sobre el manejador de la  sentencia,
         <strong>PDO::errorInfo()</strong> no reflejará el error desde el manejador de la sentencia. Se deberá llamar
         a <strong>PDOStatement::errorInfo()</strong> para devolver la información del error para una operación
         realizada sobre un manejador de sentencia concreto.

<comment>See Also:</comment>
   * <strong>PDO::errorCode()</strong>
   * <strong>PDOStatement::errorCode()</strong>
   * <strong>PDOStatement::errorInfo()</strong>


id: PDO::exec
type: function
doc:
<comment>Description:</comment>
  Ejecuta una sentencia SQL y devuelve el número de filas afectadas
    
  
  <strong>PDO::exec()</strong> ejecuta una sentencia SQL en una única llamada a la función, devolviendo el número de
  filas afectadas por la sentencia.
  
  <strong>PDO::exec()</strong> no devuelve resultados de una sentencia SELECT. Para una sentencia SELECT que sólo se
  necesita ejecutar una vez en el programa, se debe considerar el uso de <strong>PDO::query()</strong>. Para una
  sentencia que se deba ejecutar en múltiples ocasiones, preparar un objeto PDOStatement con
  <strong>PDO::prepare()</strong> y ejecutarlo con <strong>PDOStatement::execute()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$statement</strong>  La sentencia SQL para preparar y ejecutar.
                      
                      Los datos dentro de la consulta deben ser debidamente escapados.

<comment>Return:</comment>
  <info>int</info>  <strong>PDO::exec()</strong> devuelve el número de filas modificadas o borradas por la sentencia SQL
       ejecutada. Si no hay filas afectadas, <strong>PDO::exec()</strong> devuelve <return>0</return>.
       
       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.
       
       El siguiente ejemplo confía incorrectamente en el valor de retorno de <strong>PDO::exec()</strong>, donde en
       una sentencia que afecta a 0 filas resulta en una llamada a <strong>die()</strong>: exec() or
       die(print_r($db->errorInfo(), true));
       ?>
       ]]>

<comment>See Also:</comment>
   * <strong>PDO::prepare()</strong>
   * <strong>PDO::query()</strong>
   * <strong>PDOStatement::execute()</strong>


id: PDO::getAttribute
type: function
doc:
<comment>Description:</comment>
  Devuelve un atributo de la conexión a la base de datos
    
  
  Esta función devuelve el valor de un atributo de la conexión a la base de datos. Para recuperar
  atributos de objetos PDOStatement, véase <strong>PDOStatement::getAttribute()</strong>.
  
  Nótese que algunas combinaciones de bases de datos/driver pueden no soportar todos los atributos
  de conexión a la base de datos.

<comment>Param:</comment>
  <info>int</info>  <strong>$attribute</strong>  Una de las constantes <info>PDO::ATTR_*</info>. Las constantes que se aplican a las conexiones
                   de las bases de datos son las siguientes:
                   <info>PDO::ATTR_AUTOCOMMIT</info><info>PDO::ATTR_CASE</info><info>PDO::ATTR_CLIENT_VERSION</info><info>PDO::ATTR_CONNECTION_STATUS</info><info>PDO::ATTR_DRIVER_NAME</info><info>PDO::ATTR_ERRMODE</info><info>PDO::ATTR_ORACLE_NULLS</info><info>PDO::ATTR_PERSISTENT</info><info>PDO::ATTR_PREFETCH</info><info>PDO::ATTR_SERVER_INFO</info><info>PDO::ATTR_SERVER_VERSION</info><info>PDO::ATTR_TIMEOUT</info>

<comment>Return:</comment>
  <info>mixed</info>  Una llamada con éxito devuelve el valor del atributo PDO solicitado. Una llamada fallida
         devuelve <return>null</return>.

<comment>See Also:</comment>
   * <strong>PDO::setAttribute()</strong>
   * <strong>PDOStatement::getAttribute()</strong>
   * <strong>PDOStatement::setAttribute()</strong>


id: PDO::getAvailableDrivers
type: function
doc:
<comment>Description:</comment>
  Devuelve un array con los controladores de PDO disponibles
    
  
  Esta función devuelve todos los controladores de PDO actualmente disponibles que se pueden usar en
  el parámetro <strong>$DSN</strong> de <strong>PDO::__construct()</strong>.

<comment>Return:</comment>
  <info>array</info>  <strong>PDO::getAvailableDrivers()</strong> devuelve un array con los nombres de los controladores de PDO.
         Si no hubiera ningún controlador disponible, devuelve un array vacío.


id: PDO::inTransaction
type: function
doc:
<comment>Description:</comment>
  Comprueba si una transacción está activa
    
  
  Comprueba si una transacción está actualmente activa dentro del controlador. Este método
  únicamente funciona para controladores de bases de datos que admitan transacciones.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si una transacción está activa actualmente, y <info>false</info> si no.


id: PDO::lastInsertId
type: function
doc:
<comment>Description:</comment>
  Devuelve el ID de la última fila o secuencia insertada
    
  
  Devuelve el ID de la última fila insertada, o el último valor de una secuencia de objetos,
  dependiendo del driver subyacente. Por ejemplo, PDO_PGSQL requiere especificar el nombre de la
  secuencia de objetos para el parámetro <strong>$name</strong>.
  
  Este método puede no devolver resultados significativos o consistentes para diferentes drivers
  PDO, debido a que la base de datos subyacente puede no soportar el concepto de campos
  auto-incrementales o secuencias.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Nombre de la secuencia de objetos de la cual el ID debe ser devuelto.

<comment>Return:</comment>
  <info>string</info>  Si el nombre de la secuencia no se especifica en el parámetro <strong>$name</strong>, <strong>PDO::lastInsertId()</strong>
          devuelve un string representando el ID de la última fila que ha sido insertada en la base
          de datos.
          
          Si el nombre de la secuencia se especifica en el parámetro <strong>$name</strong>, <strong>PDO::lastInsertId()</strong>
          devuelve una cadena representando el último valor recibido de la secuencia de objetos
          especificada.
          
          Si el driver PDO no soporta esta prestación, <strong>PDO::lastInsertId()</strong> dispara un <return>IM001</return>
          SQLSTATE.


id: PDO::pgsqlCopyFromArray
type: function
doc:
<comment>Description:</comment>
  Copiar datos de un array de PHP a una tabla
  
  Copia los datos del array <strong>$rows</strong> a la tabla <strong>$table_name</strong> empleando <strong>$delimiter</strong> como delimitador de
  campos y la lista de campos <strong>$fields</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$table_name</strong>  Una cadena que contiene el nombre de la tabla
  <info>array</info>   <strong>$rows</strong>        Un array de cadenas con los campos separados por <strong>$delimiter</strong>
  <info>string</info>  <strong>$delimiter</strong>   El delimitador empleado en el array <strong>$rows</strong>
  <info>string</info>  <strong>$null_as</strong>     Cómo interpretar valores nulos
  <info>string</info>  <strong>$fields</strong>      El listado de campos a insertar

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


id: PDO::pgsqlCopyFromFile
type: function
doc:
<comment>Description:</comment>
  Copiar datos de un fichero a una tabla
  
  Copia los datos del fichero especificado por <strong>$filename</strong> a la tabla <strong>$table_name</strong> empleando <strong>$delimiter</strong>
  como delimitador de campos y la lista de campos <strong>$fields</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$table_name</strong>  Una cadena que contiene el nombre de la tabla
  <info>string</info>  <strong>$filename</strong>    El nombre del fichero que contiene los datos a importar
  <info>string</info>  <strong>$delimiter</strong>   El delimitador empleado en el fichero especificado por <strong>$filename</strong>
  <info>string</info>  <strong>$null_as</strong>     Cómo interpretar valores nulos
  <info>string</info>  <strong>$fields</strong>      El listado de campos a insertar

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


id: PDO::pgsqlCopyToArray
type: function
doc:
<comment>Description:</comment>
  Copiar datos de una tabla de una base de datos a un array de PHP
  
  Copia los datos de la tabla dada por <strong>$table</strong> a un array empleando <strong>$delimiter</strong> como delimitador de
  campos y la lista de campos <strong>$fields</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$table_name</strong>  Una cadena que contiene el nombre de la tabla
  <info>string</info>  <strong>$delimiter</strong>   El delimitador empleado en el array <strong>$rows</strong>
  <info>string</info>  <strong>$null_as</strong>     Cómo interpretar valores nulos
  <info>string</info>  <strong>$fields</strong>      El listado de campos a exportar

<comment>Return:</comment>
  <info>array</info>  Devuelve un array de filas  o <info>false</info> en caso de error.


id: PDO::pgsqlCopyToFile
type: function
doc:
<comment>Description:</comment>
  Copiar datos desde una tabla a un fichero
  
  Copia los datos desde la tabla al fichero especificado por <strong>$filename</strong> empleando <strong>$delimiter</strong> como
  delimitador de campos y la lista de campos <strong>$fields</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$table_name</strong>  Una cadena que contiene el nombre de la tabla
  <info>string</info>  <strong>$filename</strong>    El nombre del fichero donde exportar los datos
  <info>string</info>  <strong>$delimiter</strong>   El delimitador empleado en el fichero especificado por <strong>$filename</strong>
  <info>string</info>  <strong>$null_as</strong>     Cómo interpretar valores nulos
  <info>string</info>  <strong>$fields</strong>      El listado de campos a insertar

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


id: PDO::pgsqlGetNotify
type: function
doc:
<comment>Description:</comment>
  Obtener una notificación asíncrona
  
  Devuelve un conjunto de resultados que representa una notificación asíncrona pendiente.

<comment>Param:</comment>
  <info>int</info>  <strong>$result_type</strong>  El formato del conjunto de resultados debería ser devueto representando una
                     constante <info>PDO::FETCH_*</info>.
  <info>int</info>  <strong>$ms_timeout</strong>   La duración del tiempo de espera de una respuesta, en milisegundos.

<comment>Return:</comment>
  <info>array</info>  Si hay una o más notificaciones pendientes, devuelve una única fila con los campos <return>message</return>
         y <return>pid</return>; de lo contrario devuelve <info>false</info>.


id: PDO::pgsqlGetPid
type: function
doc:
<comment>Description:</comment>
  Obtener el PID del servidor
  
  Devuelve el PID del servidor.

<comment>Return:</comment>
  <info>int</info>  El PID del servidor.


id: PDO::pgsqlLOBCreate
type: function
doc:
<comment>Description:</comment>
  Crear un nuevo objeto grande
  
  <strong>PDO::pgsqlLOBCreate()</strong> crea un objeto grande y devuelve el OID del mismo. Se podrá entonces abrir
  un flujo sobre el objeto usando <strong>PDO::pgsqlLOBOpen()</strong> para leer o escribir datos en él. El OID se
  puede almacenar en columnas de tipo OID y se puede usar para hacer referencia al objeto grande,
  sin causar que la fila se vuelva arbitrariamente grande. El objeto grande continuará estando en la
  base de datos hasta que sea eliminado mediante una llamada a <strong>PDO::pgsqlLOBUnlink()</strong>.
  
  Los objetos grandes pueden tener un tamaño de hasta 2GB, pero son incómodos de usar; es necesario
  asegurarse de que se invoca a <strong>PDO::pgsqlLOBUnlink()</strong> antes de borrar la última fila que hacía
  referencia a su OID desde la base de datos. Además, los objetos grandes no tienen controles de
  acceso. Como alternativa, se ha de intentar con el tipo de columna BYTEA; las versiones recientes
  de PostgreSQL permiten un tamaño para las columnas BYTEA de hasta 1GB y administran de forma
  transparente el almacenamiento para un tamaño de fila óptimo.
  
  Esta función debe ser llamada dentro de una transacción.

<comment>Return:</comment>
  <info>string</info>  Devuelve el OID del objeto grande recién creado en caso de éxito, o <info>false</info> en caso de
          error.

<comment>See Also:</comment>
   * <strong>PDO::pgsqlLOBOpen()</strong>
   * <strong>PDO::pgsqlLOBUnlink()</strong>
   * <strong>pg_lo_create()</strong>


id: PDO::pgsqlLOBOpen
type: function
doc:
<comment>Description:</comment>
  Abrir un flujo de un objeto grande existente
  
  <strong>PDO::pgsqlLOBOpen()</strong> abre un flujo para acceder a los datos a los que hace referencia <strong>$oid</strong>. Si
  <strong>$mode</strong> es <return>r</return>, el flujo será abierto para lectura; si <strong>$mode</strong> es <return>w</return>, el flujo será abierto para
  escritura. Se pueden utilizar todas las funciones de sistema de ficheros usuales, tales como
  <strong>fread()</strong>, <strong>fwrite()</strong> y <strong>fgets()</strong> para manipular el contenido del flujo.
  
  Esta función, y todas las manipulaciones del objeto grande, debe ser invocada y realizada dentro
  de una transacción.

<comment>Param:</comment>
  <info>string</info>  <strong>$oid</strong>   Un identificador de objeto grande.
  <info>string</info>  <strong>$mode</strong>  Si el modo es <return>r</return>, se abre el flujo para lectura. Si el modo es <return>w</return>, se abre el flujo
                 para escritura.

<comment>Return:</comment>
  <info>resource</info>  Devuelve un recurso de flujo en caso de éxito  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>PDO::pgsqlLOBCreate()</strong>
   * <strong>PDO::pgsqlLOBUnlink()</strong>
   * <strong>pg_lo_open()</strong>


id: PDO::pgsqlLOBUnlink
type: function
doc:
<comment>Description:</comment>
  Eliminar un objeto grande
  
  Elimina un objeto grande de la base de datos identificado por OID.
  
  Esta función debe invocarse dentro de una transacción.

<comment>Param:</comment>
  <info>string</info>  <strong>$oid</strong>  Un identificador de objeto grande.

<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>PDO::pgsqlLOBOpen()</strong>
   * <strong>PDO::pgsqlLOBCreate()</strong>


id: PDO::prepare
type: function
doc:
<comment>Description:</comment>
  Prepara una sentencia para su ejecución y devuelve un objeto sentencia
    
  
  Prepara una sentencia SQL para ser ejecutada por el método <strong>PDOStatement::execute()</strong>. La sentencia
  SQL puede contener cero o más marcadores de parámetros con nombre (:name) o signos de
  interrogación (?) por los cuales los valores reales serán sustituidos cuando la sentencia sea
  ejecutada. No se pueden usar marcadores de parámetros con nombre y signos de interrogación en la
  misma sentencia SQL; se debe elegir uno de los dos estilos de parámetros. Se deben usar estos
  parámetros para sustituir cualquier dato de usuario, y no usarlos directamente en la consulta.
  
  Se debe incluir un único marcador de parámetro para cada valor que se desee pasar a la sentencia
  cuando se llame a <strong>PDOStatement::execute()</strong>. No se puede usar un marcador de parámetro con nombre
  con el mismo nombre más de una vez en una sentencia preparada, a menos que el modo de emulación
  esté activado.
  
  Los marcadores de parámetros solamente pueden representar un literal de datos completo. No se
  pueden vincular usando parámetros una parte del literal, ni una palabra clave, ni un
  identificador, ni ninguna parte arbitraria de una consulta. Por ejemplo, no se puede vincular
  valores múltiples a un único parámetro en la cláusula IN() de una sentencia SQL.
  
  Llamar a <strong>PDO::prepare()</strong> y a <strong>PDOStatement::execute()</strong> para sentencias que serán ejecutadas en
  múltiples ocasiones con diferentes parámetros optimiza el rendimiento de la aplicación permitiendo
  al driver negociar en lado del cliente y/o servidor el almacenamiento en caché del plan de
  consulta y meta información, y ayuda a prevenir inyecciones SQL eliminando la necesidad de
  entrecomillar manualmente los parámetros.
  
  PDO emulará sentencias preparadas/parámetros de sustitución para drivers que no lo soporten
  nativamente, y puede reescribir el estilo de los parámetros de sustitución por una forma más
  apropiada, si el driver soporta un estilo pero no el otro.

<comment>Param:</comment>
  <info>string</info>  <strong>$statement</strong>       Debe ser una plantilla de sentencia SQL válida para el servidor de base
                           de datos destino.
  <info>array</info>   <strong>$driver_options</strong>  Este array guarda uno o más pares clave=&gt;valor para establecer el
                           valor de los atributos del objeto PDOStatement que este método devuelve.
                           Comúnmente se establece el valor <info>PDO::ATTR_CURSOR</info> a <info>PDO::CURSOR_SCROLL</info>
                           para solicitar el cursor desplazable. Algunos drivers tienen opciones
                           específicas que pueden ser establecidas en el momento de la preparación.

<comment>Return:</comment>
  <info>PDOStatement</info>  Si el servidor de la base de datos prepara con éxito la sentencia, <strong>PDO::prepare()</strong>
                devuelve un objeto <class>PDOStatement</class>. Si no es posible, <strong>PDO::prepare()</strong> devuelve <info>false</info> o
                emite una excepción<class>PDOException</class> (dependiendo del manejo de errores).
                
                Las sentencias preparadas emuladas no se comunican con el servidor de la base de
                datos con lo cual  <strong>PDO::prepare()</strong> no comprueba la sentencia.

<comment>See Also:</comment>
   * <strong>PDO::exec()</strong>
   * <strong>PDO::query()</strong>
   * <strong>PDOStatement::execute()</strong>


id: PDO::query
type: function
doc:
<comment>Description:</comment>
  Ejecuta una sentencia SQL, devolviendo un conjunto de resultados como un objeto PDOStatement
    
  
  <strong>PDO::query()</strong> ejecuta una sentencia SQL en una única llamada a función, devolviendo el conjunto de
  resultados (si los hay) que devuelve la sentencia como un objeto PDOStatement.
  
  Para una consulta que se necesite ejecutar en múltiples ocasiones, se obtendrá una mejor
  rendimiento si se prepara un objeto PDOStatement usando <strong>PDO::prepare()</strong> y ejecutando la sentencia
  con múltiple llamadas a <strong>PDOStatement::execute()</strong>.
  
  Si no se buscan todos los datos del conjunto de resultados antes de ejecutar la siguiente llamada
  a <strong>PDO::query()</strong>, ésta puede fallar. Llamando a <strong>PDOStatement::closeCursor()</strong> se liberan los recursos
  de la base de datos asociados al objeto PDOStatement antes de ejecutar la siguiente llamada a
  <strong>PDO::query()</strong>.
  
  Aunque esta función está documentada solamente teniendo un único parámetro, se pueden pasar
  argumentos adicionales a esta función. Éstos serán tratados como si se llamase a
  <strong>PDOStatement::setFetchMode()</strong> con el objeto de la sentencia resultante.

<comment>Param:</comment>
  <info>string</info>  <strong>$statement</strong>  La sentencia SQL a preparar y ejecutar.
                      
                      Los datos dentro de la consulta deben ser debidamente escapados.

<comment>Return:</comment>
  <info>PDOStatement</info>  <strong>PDO::query()</strong> devuelve un objeto PDOStatement, o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>PDO::exec()</strong>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>


id: PDO::quote
type: function
doc:
<comment>Description:</comment>
  Entrecomilla una cadena de caracteres para usarla en una consulta
    
  
  <strong>PDO::quote()</strong> entrecomilla el string de entrada (si fuera necesario) y escapa los caracteres
  especiales contenidos en dicho string, usando un estilo de entrecomillado apropiado para el
  controlador subyacente.
  
  Si se usa esta función para construir sentencias SQL, se recomienda encarecidamente usar
  <strong>PDO::prepare()</strong> para preparar sentencias SQL con los parámetros vinculados en vez de usar
  <strong>PDO::quote()</strong> para interpolar entradas del usuario en una consulta SQL. Las sentencias preparadas
  con parámetros vinculados no son sólo más portables, más convenientes, e inmunes a inyecciones
  SQL, sino que son mucho más rápidas de ejecutar que las consultas interpoladas, ya que tanto el
  lado del servidor como el del cliente pueden almacenar en caché una forma compilada de la
  consulta.
  
  No todos los controladores de PDO implementan este método (como ejemplo notable, PDO_ODBC). En su
  lugar, se ha de considerar el uso de sentencias preparadas.
  
  El conjunto de caracteres debe establecerse o bien al nivel del servidor, o dentro de la misma
  conexión a la base de datos (dependiendo del controlador) para que afecte a PDO::quote. Véase la
  documentación específica del controlador para más información.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>          La cadena de caracteres a entrecomillar.
  <info>int</info>     <strong>$parameter_type</strong>  Proporciona una declaración de tipo de datos para los controladores que
                           tengan  un estilo de entrecomillado alternativo.

<comment>Return:</comment>
  <info>string</info>  Devuelve un string entrecomillado teóricamente seguro para pasarlo a una sentencia SQL.
          Devuelve <info>false</info> si el controlador no soporta el entrecomillado en esta forma.

<comment>See Also:</comment>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>


id: PDO::rollBack
type: function
doc:
<comment>Description:</comment>
  Revierte una transacción
    
  
  Revierte la transacción actual, que fue iniciada por <strong>PDO::beginTransaction()</strong>.
  
  Si la base de datos se estableció al modo 'autocommit', esta función restablecerá el modo
  'autocommit' después de haber revertido la transacción.
  
  Algunas bases de datos, incluyendo MySQL, ejecutan un COMMIT implícito cuando una sentencia de
  lenguaje de definición de base de datos (DDL), como DROP TABLE o CREATE TABLE, se ejecuta dentro
  de una transacción. El COMMIT implícito pevendrá de revertir cualquier otro cambio dentro de los
  límites de la transacció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>PDO::beginTransaction()</strong>
   * <strong>PDO::commit()</strong>
   * Transacciones y 'auto-commit'


id: PDO::setAttribute
type: function
doc:
<comment>Description:</comment>
  Establece un atributo
    
  
  Establece un atributo en el manejador de la base de datos. Algunos de los atributos genéricos
  disponibles están listados a continuación; algunos drivers pueden hacer uso de atributos
  adicionales específicos. <info>PDO::ATTR_CASE</info>: Fuerza a los nombres de columnas a una capitalización
  específica. <info>PDO::CASE_LOWER</info>: Fuerza a los nombres de columnas a minúsculas. <info>PDO::CASE_NATURAL</info>:
  Deja los nombres de columnas como son devueltas por el driver de la base de datos.
  <info>PDO::CASE_UPPER</info>: Fuerza a los nombres de columnas a mayúsculas.  <info>PDO::ATTR_ERRMODE</info>: Reporte de
  errores. <info>PDO::ERRMODE_SILENT</info>: Establece los códigos de error.<info>PDO::ERRMODE_WARNING</info>: Eleva
  E_WARNING.<info>PDO::ERRMODE_EXCEPTION</info>: Lanza exceptions.<info>PDO::ATTR_ORACLE_NULLS</info> (disponible para todos
  los drivers, no sólo Oracle): Conversión de NULL y cadenas vacías. <info>PDO::NULL_NATURAL</info>: Sin
  conversión.<info>PDO::NULL_EMPTY_STRING</info>: Las cadenas vacías son convertidas a <info>null</info>.<info>PDO::NULL_TO_STRING</info>:
  NULL se convierte a cadenas vacías. <info>PDO::ATTR_STRINGIFY_FETCHES</info>: Convierte los valores numéricos a
  cadenas cuando se buscan. Requiere <info>bool</info>. <info>PDO::ATTR_STATEMENT_CLASS</info>: Establece la clase de
  sentencia proporcionada por el usuario derivada de PDOStatement. No puede ser usado con instancias
  PDO persistentes. Requiere <return>array(string classname, array(mixed constructor_args))</return>.
  <info>PDO::ATTR_TIMEOUT</info>: Especifica la duración del tiempo de espera en segundos Specifies the timeout
  duration in seconds.  Not all drivers support this option, and it's meaning may differ from driver
  to driver.  For example, sqlite will wait for up to this time value before giving up on obtaining
  an writable lock, but other drivers may interpret this as a connect or a read timeout interval.
  Requires <info>int</info>. <info>PDO::ATTR_AUTOCOMMIT</info> (available in OCI, Firebird and MySQL): Whether to autocommit
  every single statement. <info>PDO::ATTR_EMULATE_PREPARES</info> Enables or disables emulation of prepared
  statements.  Some drivers do not support native prepared statements or have limited support for
  them. Use this setting to force PDO to either always emulate prepared statements (if <info>true</info>), or to
  try to use native prepared statements (if <info>false</info>).  It will always fall back to emulating the
  prepared statement if the driver cannot successfully prepare the current query. Requires <info>bool</info>.
  <info>PDO::MYSQL_ATTR_USE_BUFFERED_QUERY</info> (available in MySQL): Use buffered queries.
  <info>PDO::ATTR_DEFAULT_FETCH_MODE</info>: Set default fetch mode. Description of modes is available in
  <strong>PDOStatement::fetch()</strong> documentation.
  
  <info>PDO::ATTR_CASE</info>: Fuerza a los nombres de columnas a una capitalización específica. <info>PDO::CASE_LOWER</info>:
  Fuerza a los nombres de columnas a minúsculas. <info>PDO::CASE_NATURAL</info>: Deja los nombres de columnas
  como son devueltas por el driver de la base de datos. <info>PDO::CASE_UPPER</info>: Fuerza a los nombres de
  columnas a mayúsculas.
  
  <info>PDO::CASE_LOWER</info>: Fuerza a los nombres de columnas a minúsculas.
  
  <info>PDO::CASE_NATURAL</info>: Deja los nombres de columnas como son devueltas por el driver de la base de
  datos.
  
  <info>PDO::CASE_UPPER</info>: Fuerza a los nombres de columnas a mayúsculas.
  
  <info>PDO::ATTR_ERRMODE</info>: Reporte de errores. <info>PDO::ERRMODE_SILENT</info>: Establece los códigos de
  error.<info>PDO::ERRMODE_WARNING</info>: Eleva E_WARNING.<info>PDO::ERRMODE_EXCEPTION</info>: Lanza exceptions.
  
  <info>PDO::ERRMODE_SILENT</info>: Establece los códigos de error.
  
  <info>PDO::ERRMODE_WARNING</info>: Eleva E_WARNING.
  
  <info>PDO::ERRMODE_EXCEPTION</info>: Lanza exceptions.
  
  <info>PDO::ATTR_ORACLE_NULLS</info> (disponible para todos los drivers, no sólo Oracle): Conversión de NULL y
  cadenas vacías. <info>PDO::NULL_NATURAL</info>: Sin conversión.<info>PDO::NULL_EMPTY_STRING</info>: Las cadenas vacías son
  convertidas a <info>null</info>.<info>PDO::NULL_TO_STRING</info>: NULL se convierte a cadenas vacías.
  
  <info>PDO::NULL_NATURAL</info>: Sin conversión.
  
  <info>PDO::NULL_EMPTY_STRING</info>: Las cadenas vacías son convertidas a <info>null</info>.
  
  <info>PDO::NULL_TO_STRING</info>: NULL se convierte a cadenas vacías.
  
  <info>PDO::ATTR_STRINGIFY_FETCHES</info>: Convierte los valores numéricos a cadenas cuando se buscan. Requiere
  <info>bool</info>.
  
  <info>PDO::ATTR_STATEMENT_CLASS</info>: Establece la clase de sentencia proporcionada por el usuario derivada
  de PDOStatement. No puede ser usado con instancias PDO persistentes. Requiere <return>array(string
  classname, array(mixed constructor_args))</return>.
  
  <info>PDO::ATTR_TIMEOUT</info>: Especifica la duración del tiempo de espera en segundos Specifies the timeout
  duration in seconds.  Not all drivers support this option, and it's meaning may differ from driver
  to driver.  For example, sqlite will wait for up to this time value before giving up on obtaining
  an writable lock, but other drivers may interpret this as a connect or a read timeout interval.
  Requires <info>int</info>.
  
  <info>PDO::ATTR_AUTOCOMMIT</info> (available in OCI, Firebird and MySQL): Whether to autocommit every single
  statement.
  
  <info>PDO::ATTR_EMULATE_PREPARES</info> Enables or disables emulation of prepared statements.  Some drivers do
  not support native prepared statements or have limited support for them. Use this setting to force
  PDO to either always emulate prepared statements (if <info>true</info>), or to try to use native prepared
  statements (if <info>false</info>).  It will always fall back to emulating the prepared statement if the driver
  cannot successfully prepare the current query. Requires <info>bool</info>.
  
  <info>PDO::MYSQL_ATTR_USE_BUFFERED_QUERY</info> (available in MySQL): Use buffered queries.
  
  <info>PDO::ATTR_DEFAULT_FETCH_MODE</info>: Set default fetch mode. Description of modes is available in
  <strong>PDOStatement::fetch()</strong> documentation.

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


id: PDO::sqliteCreateAggregate
type: function
doc:
<comment>Description:</comment>
  Registra una función acumuladora definida por el usuario para usarla en sentencias SQL
    
  
  Esta función ha sido declarada
  EXPERIMENTAL. Su funcionamiento, nombre y
  la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP.
  Utilícela bajo su propia responsabilidad.
  
  Estemétodo es similar a , excepto que registra funciones que pueden ser usadas para calcular un
  resultado acumulado a través de todas las filas de una consulta.
  
  La diferencia clave entre este método y  es que son necesarias dos funciones para administrar la
  acumulación.

<comment>Param:</comment>
  <info>string</info>    <strong>$function_name</strong>  El nombre de la función usado en las sentencias SQL.
  <info>callable</info>  <strong>$step_func</strong>      Una función de llamada de retorno para cada fila del conjunto de
                            resultados. La función de PHP debería acumular el resultado y
                            almacenarlo en el contexto de la acumulación.
                            
                            Esta función necesita ser definida como:
                            <info>mixed</info>step<info>mixed</info><strong>$context</strong><info>int</info><strong>$rownumber</strong><info>mixed</info><strong>$value1</strong><info>mixed</info><strong>$value2</strong><info>mixed</info><strong>$..</strong>
                            
                            context será <info>null</info> para la primera fila; en filas subsiguientes tendrá el
                            valor que fue devuelto anteriormente desde la función 'step'; se debería
                            usar esto para mantener el estado de la acumulación.
                            
                            rownumber contendrá el número de fila actual.
                            
                            El valor devuelto por esta función se empleará como el argumento para
                            <strong>$context</strong> en la siguiente llamada del "step" o funciones finalizadorasf.
  <info>callable</info>  <strong>$finalize_func</strong>  Función de llamada de retorno para acumular los datos usados en "step"
                            desde cada fila. Una vez que todas las fila han sido procesadasOnce, se
                            invocará a esta función y debería tomar los datos del contexto de la
                            acumulación y devolver el resultado. Las funciones de llamada de retorno
                            deberían devolver un tipo comprendido por SQLite (esto es, del tipo
                            escalar).
                            
                            Esta función necesita ser definida como:
                            <info>mixed</info>fini<info>mixed</info><strong>$context</strong><info>int</info><strong>$rownumber</strong>
                            
                            context contendrá el valor de retorno de cada última llamada a la
                            función 'step'.
                            
                            rownumber contendrá el número de filas sobre las que se realiza la
                            acumulación.
                            
                            El valor devuelto por esta función será utilizado como valor de retorno
                            de la acumulación.
  <info>int</info>       <strong>$num_args</strong>       Una sugerencia para el analizador de SQLite si la función de llamada de
                            retorno acepta un número predeterminado de argumentos.

<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>sqlite_create_function()</strong>
   * <strong>sqlite_create_aggregate()</strong>


id: PDO::sqliteCreateCollation
type: function
doc:
<comment>Description:</comment>
  Registra una función definida por el usuario para emplearla como función de cotejo en sentencias
  SQL
    
  
  Esta función ha sido declarada
  EXPERIMENTAL. Su funcionamiento, nombre y
  la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP.
  Utilícela bajo su propia responsabilidad.

<comment>Param:</comment>
  <info>string</info>    <strong>$name</strong>      Nombre de la función de cotejo de SQL a crear o redefinir.
  <info>callable</info>  <strong>$callback</strong>  El nombre de una función de PHP o una definida por el usuario para aplicarla
                       como retrollamada, definiendo el comportamiento del cotejamiento. Debería
                       aceptar dos cadenas y devolver lo mismo que strcmp(), es decir, debería
                       devolver -1, 1, o 0 si la primera cadena es anterior en orden, posterior, o
                       es igual a la segunda.
                       
                       Es necesario definir esta función como:
                       <info>int</info>collation<info>string</info><strong>$string1</strong><info>string</info><strong>$string2</strong>

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


id: PDO::sqliteCreateFunction
type: function
doc:
<comment>Description:</comment>
  Registra una función definida por el usuario para utilizarla en sentencias SQL
    
  
  Esta función ha sido declarada
  EXPERIMENTAL. Su funcionamiento, nombre y
  la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP.
  Utilícela bajo su propia responsabilidad.
  
  Este método permite registrar una función de PHP con SQLite como una FDU (Función Definida por el
  Usuario), y así poder invocarla desde dentro de sentencias SQL.
  
  LA FDU se puede usar en cualquier sentencia SQL que pueda invocar funciones, tales como SELECT y
  UPDATE, y también en disparadores.

<comment>Param:</comment>
  <info>string</info>    <strong>$function_name</strong>  El nombre de la función usada en sentencias SQL.
  <info>callable</info>  <strong>$callback</strong>       Una función de llamada de retorno para manejar la función SQL definida.
                            
                            Las funciones de llamada de retorno deberían devolver un tipo
                            comprendido por SQLite (esto es, del tipo escalar).
  <info>int</info>       <strong>$num_args</strong>       Una sugerencia para el analizador de SQLite si la función de llamada de
                            retorno acepta un número predeterminado de argumentos.

<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>sqlite_create_function()</strong>
   * <strong>sqlite_create_aggregate()</strong>


id: PDOStatement
type: class
doc:
<comment>Description:</comment>
  Representa una sentencia preparada y, después de la ejecución de la instrucción, un conjunto de
  resultados asociados.


id: PDOStatement::bindColumn
type: function
doc:
<comment>Description:</comment>
  Vincula una columna a una variable de PHP
    
  
  <strong>PDOStatement::bindColumn()</strong> se encarga de tener una variable en particular vinculada a una columna
  dada en el conjunto de resultados desde una consulta. Cada llamada a <strong>PDOStatement::fetch()</strong> o a
  <strong>PDOStatement::fetchAll()</strong> actualizará todas las variables que estén vinculadas a columnas.
  
  Ya que la información sobre las columnas no siempre está disponible para PDO hasta que la
  sentencia sea ejecutada, las aplicaciones portables debería invocar esta función despúes de
  <strong>PDOStatement::execute()</strong>.
  
  Sin embargo, para poder vincular una columna LOB como un flujo cuando se usa el controlador PgSQL,
  las aplicaciones deberían invocar este método antes de llamar a <strong>PDOStatement::execute()</strong>, si no, el
  OID del objeto grande será devuelto como un número entero.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$column</strong>      El número (de primer índice 1) o el nombre de la columna del conjunto de
                      resultados. Si se utiliza el nombre de la columna, tenga en cuenta que el
                      nombre debería coincidir en mayúsculas/minúsculas con la columna, tal como la
                      devuelve el controlador.
  <info>mixed</info>  <strong>$param</strong>       El nombre de la variable de PHP a la que vincular la columna.
  <info>int</info>    <strong>$type</strong>        El tipo de datos del parámetro, especificado por las <return>constantes PDO::PARAM_*</return>.
  <info>int</info>    <strong>$maxlen</strong>      La longitud máxima sugerida para la preasingnación.
  <info>mixed</info>  <strong>$driverdata</strong>  Parámetro/s opcional/es para el controlador.

<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>PDOStatement::execute()</strong>
   * <strong>PDOStatement::fetch()</strong>
   * <strong>PDOStatement::fetchAll()</strong>
   * <strong>PDOStatement::fetchColumn()</strong>


id: PDOStatement::bindParam
type: function
doc:
<comment>Description:</comment>
  Vincula un parámetro al nombre de variable especificado
    
  
  Vincula una variable de PHP a un parámetro de sustitución con nombre o de signo de interrogación
  correspondiente de la sentencia SQL que fue usada para preparar la sentencia. A diferencia de
  <strong>PDOStatement::bindValue()</strong>, la variable es vinculada como una referencia y solamente será evaluada
  en el momento en el que se llame a <strong>PDOStatement::execute()</strong>.
  
  Muchos parámetros son de entrada, es decir, que son usados en un modo de sólo lectura para
  construir la consulta. Algunos controladores admiten la invocación de procedimientos almacenados
  que devuelven datos como parámetros de salida, y algunos también como parámetros de
  entrada/salida, donde se envían datos y son actualizados al recibirlos.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$parameter</strong>       El identificador del parámetro. Para sentencias preparadas que usen
                          parámetros de sustición con nombre, esto será un nombre de parámetro con
                          la forma :nombre. Para sentencias preparadas que usen parámetros de
                          sustición de signos de interrogación, esto será la posición índice-1 del
                          parámetro.
  <info>mixed</info>  <strong>$variable</strong>        Nombre de la variable de PHP a vincular al parámetro de la sentencia SQL.
  <info>int</info>    <strong>$data_type</strong>       El tipo de datos explícito para el parámetro, usando las constantes
                          <info>PDO::PARAM_*</info>. Para devolver un parámetro INOUT desde un procedimiento
                          almacenado, se ha de usar el operador OR a nivel de bits para establecer
                          los bits de PDO::PARAM_INPUT_OUTPUT para el parámetro <strong>$data_type</strong>.
  <info>int</info>    <strong>$length</strong>          La longitud del tipo de datos. Para indicar que el parámetro es un
                          parámetro OUT de un procedimiento almacenado, se debe establecer
                          explícitamente la longitud.
  <info>mixed</info>  <strong>$driver_options</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>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>
   * <strong>PDOStatement::bindValue()</strong>


id: PDOStatement::bindValue
type: function
doc:
<comment>Description:</comment>
  Vincula un valor a un parámetro
    
  
  Vincula un valor al parámetro de sustitución con nombre o de signo de interrogación de la
  sentencia SQL que se utilizó para preparar la sentencia.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$parameter</strong>  El identificador del parámetro. Para sentencias preparadas que usen parámetros
                     de sustición con nombre, esto será un nombre de parámetro con la forma :nombre.
                     Para sentencias preparadas que usen parámetros de sustición de signos de
                     interrogación, esto será la posición índice-1 del parámetro.
  <info>mixed</info>  <strong>$value</strong>      El valor a vincular al parámetro.
  <info>int</info>    <strong>$data_type</strong>  El tipo de datos explícito para el parámetro, usando las constantes
                     <info>PDO::PARAM_*</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>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>
   * <strong>PDOStatement::bindParam()</strong>


id: PDOStatement::closeCursor
type: function
doc:
<comment>Description:</comment>
  Cierra un cursor, habilitando a la sentencia para que sea ejecutada otra vez
    
  
  <strong>PDOStatement::closeCursor()</strong> libera la conexión al servidor, por lo que otras sentencias SQL
  podrían ejecutarse, pero deja la sentencia en un estado que la habilita para ser ejecutada otra
  vez.
  
  Este método es útil para los controladores de bases de datos que no admiten la ejecución de un
  objeto PDOStatement cuando otro objeto PDOStatement previamente ejecutado aún le restan filas por
  obtener. Si su controlador de bases de datos tiene esta limitación, el problema podría
  manifestarse en un error de "fuera de sencuencia".
  
  <strong>PDOStatement::closeCursor()</strong> está implementado como un método opcional específico del controlador
  (permitienedo la máxima eficiencia), o como la alternativa genérica de PDO si no está instalada
  ninguna función específica del controlador. La alternativa genérica de PDO es semánticamente la
  misma que si se escribiera el siguiente código en un script de PHP: fetch()) ; if
  (!$sentencia->nextRowset()) break;
  } while (true);
  ?>
  ]]>

<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>PDOStatement::execute()</strong>


id: PDOStatement::columnCount
type: function
doc:
<comment>Description:</comment>
  Devuelve el número de columnas de un conjunto de resultados
    
  
  Use <strong>PDOStatement::columnCount()</strong> para devolver el número de columnas del conjunto representado por
  el objeto PDOStatement.
  
  S el objeto PDOStatement fue devuelto desde <strong>PDO::query()</strong>, el número de columnas estará
  inmediatamente disponible.
  
  Si el objeto PDOStatement fue devuelto desde <strong>PDO::prepare()</strong>, un número preciso de columnas no
  estará disponible hasta que se invoque a <strong>PDOStatement::execute()</strong>.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de columnas del conjunto de resultados representado por el objeto
       PDOStatement, incluso si el conjunto de resultados está vacío. Si no hubiera conjunto de
       resultados, <strong>PDOStatement::columnCount()</strong> devuelve <return>0</return>.

<comment>See Also:</comment>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>
   * <strong>PDOStatement::rowCount()</strong>


id: PDOStatement::debugDumpParams
type: function
doc:
<comment>Description:</comment>
  Vuelca un comando preparado de SQL
    
  
  Vuelca la información contenida en una sentencia preparada directamente en la salida.
  Proporcionará la consulta <return>SQL</return> en uso, el número de parámetros usados (<return>Params</return>), la lista de
  parámetros con su nombre de clave o posición, su nombre, su posición en la consulta (si lo admite
  el controlador de PDO, si no, será -1), el tipo (<return>param_type</return>) como entero, y un valor booleano
  <return>is_param</return>.
  
  Esta es una función de depuración que vuelca directamente los datos en la salida habitual. Como
  con todo lo que genera
  un resultado directamente en el navegador, se pueden utilizar las
  funciones de control de salida
  para capturar el resultado de esta función y guardarlo, por
  ejemplo, en un <info>string</info>.
  
  Como con todo lo que genera
  un resultado directamente en el navegador, se pueden utilizar las
  funciones de control de salida
  para capturar el resultado de esta función y guardarlo, por
  ejemplo, en un <info>string</info>.
  
  Solamente volcará los parámetros de la sentencia en el momento del vuelco. Los parámetros extra no
  son almacenados en la sentencia, y tampoco son mostrados.

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

<comment>See Also:</comment>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::bindParam()</strong>
   * <strong>PDOStatement::bindValue()</strong>


id: PDOStatement::errorCode
type: function
doc:
<comment>Description:</comment>
  Obtiene el SQLSTATE asociado con la última operación del gestor de sentencia

<comment>Return:</comment>
  <info>string</info>  Es idéntico a <strong>PDO::errorCode()</strong>, excepto que  <strong>PDOStatement::errorCode()</strong> solamente recupera
          los códigos de error de operaciones llevadas a cabo con objetos PDOStatement.

<comment>See Also:</comment>
   * <strong>PDO::errorCode()</strong>
   * <strong>PDO::errorInfo()</strong>
   * <strong>PDOStatement::errorInfo()</strong>


id: PDOStatement::errorInfo
type: function
doc:
<comment>Description:</comment>
  Obtiene información ampliada del error asociado con la última operación del gestor de sentencia

<comment>Return:</comment>
  <info>array</info>  <strong>PDOStatement::errorInfo()</strong> devuelve un array con la información de error de la última
         operación realizada por este gestor de sentencia. El array consiste en los siguiente
         campos: ElementoInformación0Código de error de SQLSTATE (un identificador alfanumérico de
         cinco caracteres definido en el estándar ANSI SQL).1Código de error específico del
         controlador.2Mensaje de error específico del controlador.

<comment>See Also:</comment>
   * <strong>PDO::errorCode()</strong>
   * <strong>PDO::errorInfo()</strong>
   * <strong>PDOStatement::errorCode()</strong>


id: PDOStatement::execute
type: function
doc:
<comment>Description:</comment>
  Ejecuta una sentencia preparada
    
  
  Ejecuta la sentencia preparada. Si ésta incluía marcadores de parámetros, se debe: llamar a
  <strong>PDOStatement::bindParam()</strong> y/o <strong>PDOStatement::bindValue()</strong> para vincular variables o valores
  (respectivamente) a los marcadores de parámetros. Las variables vinculadas pasan su valor como
  entrada y reciben el valor de salida, si lo hubiera, de sus marcadores de parámetros asociadoso
  pasar un array de valores de parámetros de sólo entrada
  
  llamar a <strong>PDOStatement::bindParam()</strong> y/o <strong>PDOStatement::bindValue()</strong> para vincular variables o valores
  (respectivamente) a los marcadores de parámetros. Las variables vinculadas pasan su valor como
  entrada y reciben el valor de salida, si lo hubiera, de sus marcadores de parámetros asociados
  
  o pasar un array de valores de parámetros de sólo entrada

<comment>Param:</comment>
  <info>array</info>  <strong>$input_parameters</strong>  Un array de valores con tantos elementos como parámetros vinculados en
                            la sentencia SQL que va a ser ejecutada. Todos los valores son tratados
                            como <info>PDO::PARAM_STR</info>.
                            
                            No es posible vincular múltiples valores a un único parámetro; por
                            ejemplo, no se puede vincular dos valores a un único parámetro con
                            nombre en una cláusula IN().
                            
                            Tampoco es posible vincular más valores que los especificados; si
                            existen más claves en <strong>$input_parameters</strong> que en la sentencia SQL
                            especificada en PDO::prepare, entonces la sentencia fallará y se emitirá
                            un error.

<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>PDO::prepare()</strong>
   * <strong>PDOStatement::bindParam()</strong>
   * <strong>PDOStatement::fetch()</strong>
   * <strong>PDOStatement::fetchAll()</strong>
   * <strong>PDOStatement::fetchColumn()</strong>


id: PDOStatement::fetch
type: function
doc:
<comment>Description:</comment>
  Obtiene la siguiente fila de un conjunto de resultados
    
  
  Obtiene una fila de un conjunto de resultados asociado al objeto PDOStatement. El parámetro <strong>$mode</strong>
  determina cómo PDO devuelve la fila.

<comment>Param:</comment>
  <info>int</info>  <strong>$mode</strong>               Controla cómo se devolverá la siguiente fila al llamador. Este valor debe
                           ser una de las constantes <info>PDO::FETCH_*</info>, estando predeterminado
                           <info>PDO::ATTR_DEFAULT_FETCH_MODE</info> (el cual por defecto es <info>PDO::FETCH_BOTH</info>).
                           <info>PDO::FETCH_ASSOC</info>: devuelve un array indexado por los nombres de las
                           columnas del conjunto de resultados. <info>PDO::FETCH_BOTH</info> (predeterminado):
                           devuelve un array indexado tanto por nombre de columna, como
                           numéricamente con índice de base 0 tal como fue devuelto en el conjunto
                           de resultados. <info>PDO::FETCH_BOUND</info>: devuelve <info>true</info> y asigna los valores de
                           las columnas del conjunto de resultados a las variables de PHP a las que
                           fueron vinculadas con el método <strong>PDOStatement::bindColumn()</strong>.
                           <info>PDO::FETCH_CLASS</info>: devuelve una nueva instancia de la clase solicitada,
                           haciendo corresponder las columnas del conjunto de resultados con los
                           nombres de las propiedades de la clase, y llamando al constructor
                           después, a menos que también se proporcione <info>PDO::FETCH_PROPS_LATE</info>. Si
                           <strong>$mode</strong> incluye PDO::FETCH_CLASSTYPE (por ejemplo, <return>PDO::FETCH_CLASS |
                           PDO::FETCH_CLASSTYPE</return>), entonces el nombre de la clase se determina a
                           partir del valor de la primera columna. <info>PDO::FETCH_INTO</info>: actualiza una
                           instancia existente de la clase solicitada, haciendo coincidir el nombre
                           de las columnas con los nombres de las propiedades de la clase.
                           <info>PDO::FETCH_LAZY</info>: combina <info>PDO::FETCH_BOTH</info> y <info>PDO::FETCH_OBJ</info>, creando los
                           nombres de la variables del objeto tal como se accedieron.
                           <info>PDO::FETCH_NAMED</info>: devuelve un array con la misma forma que
                           <info>PDO::FETCH_ASSOC</info>, excepto que si hubiera múltiples columnas con el mismo
                           nombre, el valor al que hace referencia dicha clave será un array con
                           todos los valores de la fila de tuviera ese nombre de columna.
                           <info>PDO::FETCH_NUM</info>: devuelve un array indexado por el número de columna tal
                           como fue devuelto en el conjunto de resultados, comenzando por la columna
                           0. <info>PDO::FETCH_OBJ</info>: devuelve un objeto anónimo con nombres de propiedades
                           que se corresponden a los nombres de las columnas devueltas en el
                           conjunto de resultados. <info>PDO::FETCH_PROPS_LATE</info>: cuando se usa con
                           <info>PDO::FETCH_CLASS</info>, se llama al constructor de la clase antes de que las
                           proiedades sean asignadas desde los valores de la columna respectiva.
                           
                           <info>PDO::FETCH_ASSOC</info>: devuelve un array indexado por los nombres de las
                           columnas del conjunto de resultados.
                           
                           <info>PDO::FETCH_BOTH</info> (predeterminado): devuelve un array indexado tanto por
                           nombre de columna, como numéricamente con índice de base 0 tal como fue
                           devuelto en el conjunto de resultados.
                           
                           <info>PDO::FETCH_BOUND</info>: devuelve <info>true</info> y asigna los valores de las columnas del
                           conjunto de resultados a las variables de PHP a las que fueron vinculadas
                           con el método <strong>PDOStatement::bindColumn()</strong>.
                           
                           <info>PDO::FETCH_CLASS</info>: devuelve una nueva instancia de la clase solicitada,
                           haciendo corresponder las columnas del conjunto de resultados con los
                           nombres de las propiedades de la clase, y llamando al constructor
                           después, a menos que también se proporcione <info>PDO::FETCH_PROPS_LATE</info>. Si
                           <strong>$mode</strong> incluye PDO::FETCH_CLASSTYPE (por ejemplo, <return>PDO::FETCH_CLASS |
                           PDO::FETCH_CLASSTYPE</return>), entonces el nombre de la clase se determina a
                           partir del valor de la primera columna.
                           
                           <info>PDO::FETCH_INTO</info>: actualiza una instancia existente de la clase
                           solicitada, haciendo coincidir el nombre de las columnas con los nombres
                           de las propiedades de la clase.
                           
                           <info>PDO::FETCH_LAZY</info>: combina <info>PDO::FETCH_BOTH</info> y <info>PDO::FETCH_OBJ</info>, creando los
                           nombres de la variables del objeto tal como se accedieron.
                           
                           <info>PDO::FETCH_NAMED</info>: devuelve un array con la misma forma que
                           <info>PDO::FETCH_ASSOC</info>, excepto que si hubiera múltiples columnas con el mismo
                           nombre, el valor al que hace referencia dicha clave será un array con
                           todos los valores de la fila de tuviera ese nombre de columna.
                           
                           <info>PDO::FETCH_NUM</info>: devuelve un array indexado por el número de columna tal
                           como fue devuelto en el conjunto de resultados, comenzando por la columna
                           0.
                           
                           <info>PDO::FETCH_OBJ</info>: devuelve un objeto anónimo con nombres de propiedades que
                           se corresponden a los nombres de las columnas devueltas en el conjunto de
                           resultados.
                           
                           <info>PDO::FETCH_PROPS_LATE</info>: cuando se usa con <info>PDO::FETCH_CLASS</info>, se llama al
                           constructor de la clase antes de que las proiedades sean asignadas desde
                           los valores de la columna respectiva.
  <info>int</info>  <strong>$cursorOrientation</strong>  Para un objeto PDOStatement que represente un cursor desplazable, este
                           valor determina qué columna será devuelta por el llamador. Este valor
                           debe ser una de las constantes <info>PDO::FETCH_ORI_*</info>, siendo la predeterminada
                           <info>PDO::FETCH_ORI_NEXT</info>. Para solicitar un cursor desplazable para el objeto
                           PDOStatement, se debe establecer el atributo <info>PDO::ATTR_CURSOR</info> a
                           <info>PDO::CURSOR_SCROLL</info> cuando se prepare la sentencia SQL con <strong>PDO::prepare()</strong>.
  <info>int</info>  <strong>$cursorOffset</strong>       Para un objeto PDOStatement que represente un cursor desplazable para el
                           cual el parámetro <return>cursorOrientation</return> está establecido a
                           <info>PDO::FETCH_ORI_ABS</info>, este valor especifica el número absoluto de la fila
                           del conjunto de resultados que se desea obtener.
                           
                           Para un objeto PDOStatement que represente un cursor desplazable para el
                           cual el parámetro <return>cursorOrientation</return> está establecido a
                           <info>PDO::FETCH_ORI_REL</info>, este valor especifica la fila a obtener relativa a la
                           posición del cursor antes de que se llame a <strong>PDOStatement::fetch()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  El valor de retorno de esta función en caso de éxito depende del tipo de obtención. En
         todos los casos, se devuelve <info>false</info> en caso de error o si no existen más filas por devolver.

<comment>See Also:</comment>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::execute()</strong>
   * <strong>PDOStatement::fetchAll()</strong>
   * <strong>PDOStatement::fetchColumn()</strong>
   * <strong>PDOStatement::fetchObject()</strong>
   * <strong>PDOStatement::setFetchMode()</strong>


id: PDOStatement::fetchAll
type: function
doc:
<comment>Description:</comment>
  Devuelve un array que contiene todas las filas del conjunto de resultados

<comment>Param:</comment>
  <info>int</info>    <strong>$fetch_style</strong>     Controla el contenido del array devuelto, tal como está documentado en
                          <strong>PDOStatement::fetch()</strong>. El valor predeterminado es
                          <info>PDO::ATTR_DEFAULT_FETCH_MODE</info> (el cual por defecto es <info>PDO::FETCH_BOTH</info>).
                          
                          Para devolver un array que contenga todos los valores de una única columna
                          del conjunto de resultados, se debe especificar <info>PDO::FETCH_COLUMN</info>. Se
                          puede especificar qué columna se desea obtener con el parámetro
                          <strong>$fetch_argument</strong>.
                          
                          Para obtener solamente los valores únicos de una sola columna del conjunto
                          de resultados, se ha de realizar un OR a nivel de bits de
                          <info>PDO::FETCH_COLUMN</info> con <info>PDO::FETCH_UNIQUE</info>.
                          
                          Para devolver un array asociativo agrupado según los valores de una
                          columna especificada, se ha de realilar un OR a nivel de bits de
                          <info>PDO::FETCH_COLUMN</info> con <info>PDO::FETCH_GROUP</info>.
  <info>mixed</info>  <strong>$fetch_argument</strong>  Este argumento tiene un significado diferente dependiendo del valor del
                          parámetro <strong>$fetch_style</strong>: <info>PDO::FETCH_COLUMN</info>: Devuelve la columna con el
                          índice indicado basado en 0. <info>PDO::FETCH_CLASS</info>: Devuelve instancias de la
                          clase especificada, haciendo corresponder las columnas de cada fila con
                          las propiedades con nombre de la clase. <info>PDO::FETCH_FUNC</info>: Devuelve el
                          resultado de llamar a la función especificada, usando cada columna de fila
                          como parámetro de la llamada.
                          
                          <info>PDO::FETCH_COLUMN</info>: Devuelve la columna con el índice indicado basado en 0.
                          
                          <info>PDO::FETCH_CLASS</info>: Devuelve instancias de la clase especificada, haciendo
                          corresponder las columnas de cada fila con las propiedades con nombre de
                          la clase.
                          
                          <info>PDO::FETCH_FUNC</info>: Devuelve el resultado de llamar a la función
                          especificada, usando cada columna de fila como parámetro de la llamada.
  <info>array</info>  <strong>$ctor_args</strong>       Los argumentos del constructor de la case cuando el parámetro <strong>$fetch_style</strong>
                          es <info>PDO::FETCH_CLASS</info>.

<comment>Return:</comment>
  <info>array</info>  <strong>PDOStatement::fetchAll()</strong> devuelve un array que contiene todas las filas restantes del
         conjunto de resultados. El array representa cada fila como un array con valores de las
         columnas, o como un objeto con propiedades correspondientes a cada nombre de columna. Es
         devuelto un array vacío si hay cero resultados que obtener, o <info>false</info> en caso de fallo.
         
         Usar este método para obtener conjuntos de resultados grandes dará como resultado una
         fuerte demanda del sistema y, posiblemente, de los recursos de red. En lugar de recuperar
         todos los datos y manipularlos en PHP, considérese usar el servidor de bases de datos para
         manipular los conjuntos de resultados. Por ejemplo, se pueden usar las cláusulas WHERE y
         ORDER BY en sentencias SQL para restringir el resultado antes de recuperarlos y procesarlos
         con PHP.

<comment>See Also:</comment>
   * <strong>PDO::query()</strong>
   * <strong>PDOStatement::fetch()</strong>
   * <strong>PDOStatement::fetchColumn()</strong>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::setFetchMode()</strong>


id: PDOStatement::fetchColumn
type: function
doc:
<comment>Description:</comment>
  Devuelve una única columna de la siguiente fila de un conjunto de resultados
    
  
  Devuelve una única columna de la siguiente fila de un conjunto de resultados, o <info>false</info> si no
  existen más filas.
  
  No debería utilizarse <strong>PDOStatement::fetchColumn()</strong> para recuperar columnas booleanas, ya que es
  imposible distinguir el valor <info>false</info> de la ausencia de filas a recurperar. Use
  <strong>PDOStatement::fetch()</strong> en su lugar.

<comment>Param:</comment>
  <info>int</info>  <strong>$column_number</strong>  El número de índice basado en 0 de la columna que se quiere obtener desde la
                       fila. Si no se proporicona ningún valor, <strong>PDOStatement::fetchColumn()</strong> obtiene
                       la primera columna.

<comment>Return:</comment>
  <info>mixed</info>  <strong>PDOStatement::fetchColumn()</strong> devuelve una única columna de la siguiente fila de un conjunto
         de resultados.
         
         No existe una forma de devolver otra columna de la misma fila si se utiliza
         <strong>PDOStatement::fetchColumn()</strong> para recuperar datos.

<comment>See Also:</comment>
   * <strong>PDO::query()</strong>
   * <strong>PDOStatement::fetch()</strong>
   * <strong>PDOStatement::fetchAll()</strong>
   * <strong>PDO::prepare()</strong>
   * <strong>PDOStatement::setFetchMode()</strong>


id: PDOStatement::fetchObject
type: function
doc:
<comment>Description:</comment>
  Obtiene la siguiente fila y la devuelve como un objeto
  
  Obtiene la siguiente fila y la devuelve como un objeto. Esta función es una alternativa para
  <strong>PDOStatement::fetch()</strong> con el estilo <info>PDO::FETCH_CLASS</info> o <info>PDO::FETCH_OBJ</info>.
  
  Cuando se obtiene un objeto, sus propiedades son asignadas desde los valores de la columna
  respectiva, y después se invoca a su constructor.

<comment>Param:</comment>
  <info>string</info>  <strong>$class_name</strong>  El nombre de la clase creada.
  <info>array</info>   <strong>$ctor_args</strong>   Los elementos de este array son pasados al constructor.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve una instancia de la clase requerida con los nombres de sus propiedades que se
         corresponden a los nombre de las columnas,  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <strong>PDOStatement::fetch()</strong>


id: PDOStatement::getAttribute
type: function
doc:
<comment>Description:</comment>
  Recupera un atributo de sentencia
    
  
  Obtiene un atributo de una sentencia. Actualemente, no existen atributos genéricos, sino solamente
  específicos del controlador: <info>PDO::ATTR_CURSOR_NAME</info> (específico de Firebird y ODBC): Obtiene el
  nombre del cursor para <return>UPDATE ... WHERE CURRENT OF</return>.
  
  <info>PDO::ATTR_CURSOR_NAME</info> (específico de Firebird y ODBC): Obtiene el nombre del cursor para <return>UPDATE
  ... WHERE CURRENT OF</return>.

<comment>Return:</comment>
  <info>mixed</info>  Devuelve el valor del atributo.

<comment>See Also:</comment>
   * <strong>PDO::getAttribute()</strong>
   * <strong>PDO::setAttribute()</strong>
   * <strong>PDOStatement::setAttribute()</strong>


id: PDOStatement::getColumnMeta
type: function
doc:
<comment>Description:</comment>
  Devuelve metadatos de una columna de un conjunto de resultados
    
  
  Devuelve los metadatos de una columna de índice basado 0 de un conjunto de resultados como un
  array asociativo.
  
  No todos los controladores de PDO admiten <strong>PDOStatement::getColumnMeta()</strong>.
  
  Los siguientes controladores admiten este método:
  
  PDO_DBLIB
  
  PDO_MYSQL
  
  PDO_PGSQL
  
  PDO_SQLITE

<comment>Param:</comment>
  <info>int</info>  <strong>$column</strong>  La columna de índice basado en 0 del conjunto de resultados.

<comment>Return:</comment>
  <info>array</info>  Devuelve un array asociativo que contiene los siguientes valores que representan los
         metadatos de una única columna:
         
         Devuelve <info>false</info> si la columna solicitada no exite en el conjunto de resultados, o si no
         existe dicho conjunto.

<comment>See Also:</comment>
   * <strong>PDOStatement::columnCount()</strong>
   * <strong>PDOStatement::rowCount()</strong>


id: PDOStatement::getIterator
type: function
doc:
<comment>Description:</comment>
  Gets result set iterator
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>Iterator</info>  


id: PDOStatement::nextRowset
type: function
doc:
<comment>Description:</comment>
  Avanza hasta el siguiente conjunto de filas de un gestor de sentencia multiconjunto de filas
    
  
  Algunas bases de datos admiten procedimientos almacenados que devuelve más de un conjunto de filas
  (también conocido como conjunto de resultados). Con <strong>PDOStatement::nextRowset()</strong> se puede accedar al
  segundo y subsiguiente conjunto de filas asociado con un objeto PDOStatement. Cada conjunto de
  filas puede tener un conjunto de columnas diferente del conjunto de filas precedente.

<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>PDOStatement::columnCount()</strong>
   * <strong>PDOStatement::execute()</strong>
   * <strong>PDOStatement::getColumnMeta()</strong>
   * <strong>PDO::query()</strong>


id: PDOStatement::rowCount
type: function
doc:
<comment>Description:</comment>
  Devuelve el número de filas afectadas por la última sentencia SQL
    
  
  <strong>PDOStatement::rowCount()</strong> devuelve el número de filas afectadas por la última sentencia DELETE,
  INSERT, o UPDATE ejecutada por el correspondiente objeto <return>PDOStatement</return>.
  
  Si la última sentencia SQL ejecutada por el objeto <return>PDOStatement</return> asociado fue una sentencia SELECT,
  algunas bases de datos podrían devolver el número de filas devuelto por dicha sentencia. Sin
  embargo, este comportamiento no está garantizado para todas las bases de datos y no debería
  confiarse en él para aplicaciones portables.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de filas.

<comment>See Also:</comment>
   * <strong>PDOStatement::columnCount()</strong>
   * <strong>PDOStatement::fetchColumn()</strong>
   * <strong>PDO::query()</strong>


id: PDOStatement::setAttribute
type: function
doc:
<comment>Description:</comment>
  Establece un atributo de sentencia
    
  
  Establece un atributo de una sentencia. Actualmente, no se establecen atributos genéricos, sino
  solamente específicos del controlador: <info>PDO::ATTR_CURSOR_NAME</info> (específico de Firebird y ODBC):
  Establece el nombre del cursor para <return>UPDATE ... WHERE CURRENT OF</return>.
  
  <info>PDO::ATTR_CURSOR_NAME</info> (específico de Firebird y ODBC): Establece el nombre del cursor para <return>UPDATE
  ... WHERE CURRENT OF</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>PDO::getAttribute()</strong>
   * <strong>PDO::setAttribute()</strong>
   * <strong>PDOStatement::getAttribute()</strong>


id: PDOStatement::setFetchMode
type: function
doc:
<comment>Description:</comment>
  Establece el modo de obtención para esta sentencia

<comment>Param:</comment>
  <info>int</info>     <strong>$mode</strong>       El modo de obtención debe ser una de las constantes <info>PDO::FETCH_*</info>.
  <info>int</info>     <strong>$colno</strong>      El número de la columna.
  <info>string</info>  <strong>$classname</strong>  El nombre de la clase.
  <info>array</info>   <strong>$ctorargs</strong>   Los argumentos del constructor.
  <info>object</info>  <strong>$object</strong>     El objeto.

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


id: PGSQL_ASSOC
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_fetch_array()</strong>. Devuelve un array asociativo de campos nombre y valor.


id: PGSQL_BAD_RESPONSE
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. La respuesta del servidor no se entendió.


id: PGSQL_BOTH
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_fetch_array()</strong>. Devuelve un array de valores de campo que es numéricamente indexado
  (por número de campo) y asociado (por nombre de campo).


id: PGSQL_COMMAND_OK
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. Indica la conclusión con éxito de un comando que no devuelve
  datos.


id: PGSQL_CONNECTION_BAD
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connection_status()</strong> indica que la conexión de la base de datos está en un estado
  no valido.


id: PGSQL_CONNECTION_OK
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connection_status()</strong> indica que la conexión de la base de datos está en un estado
  valido.


id: PGSQL_CONNECT_ASYNC
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_connect()</strong> crea una conexión asíncrona.


id: PGSQL_CONNECT_FORCE_NEW
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_connect()</strong> fuerza la creacion de una nueva conexión, en lugar de volver a utilizar una
  conexión idéntica existente.


id: PGSQL_CONV_FORCE_NULL
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_convert()</strong>. Utilice SQL <return>NULL</return> en lugar de una <info>string</info> vacía.


id: PGSQL_CONV_IGNORE_DEFAULT
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_convert()</strong>. No hacer caso de los valores por defecto en la tabla durante la conversión.


id: PGSQL_CONV_IGNORE_NOT_NULL
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_convert()</strong>. Ignorar la conversión de <info>null</info> en las columnas SQL <return>NOT NULL</return>.


id: PGSQL_COPY_IN
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. La transferencia de la copia de la entrada de datos (al servidor)
  ha empezado.


id: PGSQL_COPY_OUT
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. La transferencia de la copia de salida de datos (del servidor) ha
  empezado.


id: PGSQL_DIAG_CONTEXT
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Una indicación del contexto en el que se produjo el error.
  Actualmente esto incluye una pila de llamadas de rastreo de funciones, procedimientos activos y
  consultas generados internamente. La traza es una entrada por línea, lo más reciente primero.


id: PGSQL_DIAG_INTERNAL_POSITION
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Este se define como el campo <info>PG_DIAG_STATEMENT_POSITION</info>, Pero
  este es usado cuando la posición del cursor se refiere al comando generado internamente en lugar
  de la cadena enviada por el cliente. El campo <info>PG_DIAG_INTERNAL_QUERY</info> siempre aparece cuando este
  campo esta presente.


id: PGSQL_DIAG_INTERNAL_QUERY
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El texto de un comando generado internamente falla. Esto podria
  ser, por ejemplo, una consulta SQL emitida por una función PL/pgSQL.


id: PGSQL_DIAG_MESSAGE_DETAIL
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Detalle: un mensaje de error secundario opcional que transporta
  más detalles sobre el problema. Puede funcionar a varias líneas.


id: PGSQL_DIAG_MESSAGE_HINT
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Sugerencia: una sugerencia opcional qué hacer con el problema.
  Con esto se pretende diferir el detalle y ofrecer consejo (potencialmente inapropiados) en lugar
  de hechos concretos. Se puede ejecutar en varias lineas.


id: PGSQL_DIAG_MESSAGE_PRIMARY
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El principal mensaje de error legible para un humano
  (generalmente una línea). Siempre esta presente.


id: PGSQL_DIAG_SEVERITY
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Según la gravedad; el contenido de los  campos puede ser <return>ERROR</return>,
  <return>FATAL</return>, o <return>PANIC</return> (en un mensaje de error), o <return>WARNING</return>, <return>NOTICE</return>, <return>DEBUG</return>, <return>INFO</return>, o <return>LOG</return> (en un mensaje de
  aviso), o una traducción localizada de uno de ellos. Siempre esta presente.


id: PGSQL_DIAG_SEVERITY_NONLOCALIZED
type: constant
doc:
<comment>Description:</comment>
  La gravedad; el contenido del campo son ERROR, FATAL o PANIC (en un mensaje de error), o WARNING,
  NOTICE, DEBUG, INFO o LOG (en un mensaje de aviso). Es idéntico al campo PG_DIAG_SEVERITY, salvo
  que el contenido nunca se localiza. Sólo está presente en las versiones 9.6 y posteriores / PHP
  7.3.0 y posteriores.


id: PGSQL_DIAG_SOURCE_FILE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El nombre del archivo en la ubicación del código fuente de
  PostgreSQL. donde se reporto el error.


id: PGSQL_DIAG_SOURCE_FUNCTION
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El nombre de la función en el código fuente de PostgreSQL que
  informa del error.


id: PGSQL_DIAG_SOURCE_LINE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El numero de línea en la ubicación del código fuente PostgreSQL
  donde se reporto el error.


id: PGSQL_DIAG_SQLSTATE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. El código SQLSTATE para el error. El codigo SQLSTATE identifica
  el tipo de error que ha ocurrido; esto puede ser utilizado por las aplicaciones de front-end para
  llevar a cabo operaciones específicas (tales como el control de errores) en respuesta a un error
  de base de datos concreto. Este campo no es localizable, y siempre esta presente.


id: PGSQL_DIAG_STATEMENT_POSITION
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_error_field()</strong>. Una cadena que contiene un entero decimal que indica la posición
  del cursor como un índice de error en la cadena de la sentencia original. El primer carácter tiene
  el índice 1, y las posiciones se miden en caracteres no bytes.


id: PGSQL_DML_ASYNC
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_insert()</strong>, <strong>pg_select()</strong>, <strong>pg_update()</strong> y <strong>pg_delete()</strong>. Ejecutar consultas asíncronas por
  estas funciones.


id: PGSQL_DML_ESCAPE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_insert()</strong>, <strong>pg_select()</strong>, <strong>pg_update()</strong> y <strong>pg_delete()</strong>. Aplicar escape a todos los
  parámetros en lugar de llamar a <strong>pg_convert()</strong> internamente. Esta opción omite la búsqueda de
  metadatos. Las consultas podrían ser tan rápidas como <strong>pg_query()</strong> y <strong>pg_send_query()</strong>.


id: PGSQL_DML_EXEC
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_insert()</strong>, <strong>pg_select()</strong>, <strong>pg_update()</strong> y <strong>pg_delete()</strong>. Ejecutar consultas por estas
  funciones.


id: PGSQL_DML_NO_CONV
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_insert()</strong>, <strong>pg_select()</strong>, <strong>pg_update()</strong> y <strong>pg_delete()</strong>. Todos los parámetros pasados tal
  cual. Se requiere el escape manual si los parámetros contienen datos proporcionados por el
  usuario. Use <strong>pg_escape_string()</strong> para ello.


id: PGSQL_DML_STRING
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_insert()</strong>, <strong>pg_select()</strong>, <strong>pg_update()</strong> y <strong>pg_delete()</strong>. Devuelve el string de consulta
  ejecutado.


id: PGSQL_EMPTY_QUERY
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. Indica que la cadena enviada al servidor estaba vacía.


id: PGSQL_ERRORS_DEFAULT
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_set_error_verbosity()</strong>. El modo predeterminado produce mensajes que incluyen todo lo
  anterior además de los campos de detalle, sugerencia, o contexto (que puede abarcar varias
  líneas).


id: PGSQL_ERRORS_TERSE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_set_error_verbosity()</strong>. Especifica que los mensajes devueltos solo incluyen la
  severidad, el texto principal, y la posición; lo que normalmente cabe en una sola línea.


id: PGSQL_ERRORS_VERBOSE
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_set_error_verbosity()</strong>. El modo detallado incluye todos los campos disponibles.


id: PGSQL_FATAL_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. Un error fatal ha ocurrido.


id: PGSQL_LIBPQ_VERSION_STR
type: constant
doc:
<comment>Description:</comment>
  Antes de PHP 8.0.0, la versión larga de libpq incluye información del compilador. A partir de PHP
  8.0.0, el valor es idéntico a <info>PGSQL_LIBPQ_VERSION</info>, y el uso de <info>PGSQL_LIBPQ_VERSION_STR</info> está en
  desuso.


id: PGSQL_NONFATAL_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. Un error fatal (un aviso o advertencia) se produjo.


id: PGSQL_NOTICE_ALL
type: constant
doc:
<comment>Description:</comment>
  Usado por <strong>pg_last_notice()</strong>. Disponible desde PHP 7.1.0.


id: PGSQL_NUM
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_fetch_array()</strong>. Devuelve un array indexado numéricamente de campos numero y valor.


id: PGSQL_POLLING_ACTIVE
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connect_poll()</strong> para indicar que la conexión está actualmente activa.


id: PGSQL_POLLING_FAILED
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connect_poll()</strong> para indicar que el intento de conexión ha fallado.


id: PGSQL_POLLING_OK
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connect_poll()</strong> para indicar que la conexión esta lista para ser usada.


id: PGSQL_POLLING_READING
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connect_poll()</strong> para indicar que la conexión está esperando que el socket de
  PostgreSQL pueda leerse.


id: PGSQL_POLLING_WRITING
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_connect_poll()</strong> para indicar que la conexión está esperando que el socket de
  PostgreSQL pueda escribirse.


id: PGSQL_SEEK_CUR
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_lo_seek()</strong>. La operación de busqueda empieza desde la posición actual.


id: PGSQL_SEEK_END
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_lo_seek()</strong>. La operación de busqueda empieza desde el final del objeto.


id: PGSQL_SEEK_SET
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_lo_seek()</strong>. La operación de busqueda empieza desde el inicio del objeto.


id: PGSQL_STATUS_LONG
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_status()</strong>. Indica que se desea el codigo numerico del resultado.


id: PGSQL_STATUS_STRING
type: constant
doc:
<comment>Description:</comment>
  Pasado a <strong>pg_result_status()</strong>. Indica que se desea la etiqueta textual del resultado del comando.


id: PGSQL_TRANSACTION_ACTIVE
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_transaction_status()</strong>. Un comando esta en progreso en la conexión. Una consulta ha
  sido enviada a través de la conexión y aún no concluido.


id: PGSQL_TRANSACTION_IDLE
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_transaction_status()</strong>. La conexión esta libre actualmente, no es usada por una
  transacción.


id: PGSQL_TRANSACTION_INERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_transaction_status()</strong>. La conexión esta inactiva, en un bloque de transacción
  fallida.


id: PGSQL_TRANSACTION_INTRANS
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_transaction_status()</strong>. La conexión esta inactiva, en un bloque de transacción.


id: PGSQL_TRANSACTION_UNKNOWN
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_transaction_status()</strong>. La conexion es mala.


id: PGSQL_TUPLES_OK
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>pg_result_status()</strong>. Indica la conclusión con éxito de un comando que retorna datos
  (como un <return>SELECT</return> o un <return>SHOW</return>).


id: PHP_BINARY
type: constant
doc:
<comment>Description:</comment>
  Especifica la ruta de los binarios de PHP durante la ejecución del script.


id: PHP_BINDIR
type: constant
doc:
<comment>Description:</comment>
  El valor --bindir se estableció en la configuración. En Windows, es el valor --with-prefix que se
  estableció en la configuración.


id: PHP_EXTENSION_DIR
type: constant
doc:
<comment>Description:</comment>
  El directorio por defecto donde buscar las extensiones cargables dinámicamente (a menos que sea
  sobreescrito por extension_dir). Por defecto es <info>PHP_PREFIX</info> (o PHP_PREFIX . "\\ext" en Windows).


id: PHP_EXTRA_VERSION
type: constant
doc:
<comment>Description:</comment>
  La versión "extra" actual de PHP, en forma de string (p.ej., '-extra' para la versión
  "5.2.7-extra"). Se usa a menudo por los distribuidores para indicar la versión de un paquete.


id: PHP_FD_SETSIZE
type: constant
doc:
<comment>Description:</comment>
  El número máximo de descriptores de ficheros para seleccionar llamadas al sistema. Disponble a
  partir de PHP 7.1.0.


id: PHP_FLOAT_DIG
type: constant
doc:
<comment>Description:</comment>
  Número de dígitos decimales que se pueden redondear en un float y revertirlos si pédida de
  precisión. Disponible a partir de PHP 7.2.0.


id: PHP_FLOAT_EPSILON
type: constant
doc:
<comment>Description:</comment>
  El menor número positivo representable x, tal que <return>x + 1.0 != 1.0</return>. Disponible a partir de PHP
  7.2.0.


id: PHP_FLOAT_MAX
type: constant
doc:
<comment>Description:</comment>
  El mayor número de punto flotante representable. Disponible a partir de PHP 7.2.0.


id: PHP_FLOAT_MIN
type: constant
doc:
<comment>Description:</comment>
  El menor número positivo de punto flotante representable. Si necesita el menor número de punto
  flotante negative representable, use <return>- PHP_FLOAT_MAX</return>. Disponible a partir de PHP 7.2.0.


id: PHP_INT_MAX
type: constant
doc:
<comment>Description:</comment>
  El número entero más grande admitido en esta compilación de PHP. Normalmente int(2147483647) en
  sistemas de 32 bits y int(9223372036854775807) en sistemas de 64 bits.


id: PHP_INT_MIN
type: constant
doc:
<comment>Description:</comment>
  El número entero más pequeño admitido en esta compilación de PHP. Normalmente int(-2147483648) en
  sistemas de 32 bits y int(-9223372036854775808) en sistemas de 64 bits. Usualmente, PHP_INT_MIN
  === ~PHP_INT_MAX.


id: PHP_INT_SIZE
type: constant
doc:
<comment>Description:</comment>
  El tamaño de un número entero en bytes en esta compilación de PHP.


id: PHP_MAJOR_VERSION
type: constant
doc:
<comment>Description:</comment>
  La versión "mayor" actual de PHP como valor integer (p.ej., int(5) en la versión "5.2.7-extra").


id: PHP_MAXPATHLEN
type: constant
doc:
<comment>Description:</comment>
  La longitud máxima de los nombres de ficheros (incluyendo directorios) admitida por la compilación
  de PHP.


id: PHP_MINOR_VERSION
type: constant
doc:
<comment>Description:</comment>
  La versión "menor" actual de PHP como valor integer (p.ej, int(2) en la versión "5.2.7-extra").


id: PHP_OS_FAMILY
type: constant
doc:
<comment>Description:</comment>
  La familia de sistemas operativos para la que se construyó PHP. Puede se <return>'Windows'</return>, <return>'BSD'</return>, <return>'OSX'</return>,
  <return>'Solaris'</return>, <return>'Linux'</return> or <return>'Unknown'</return>. Disponible desde PHP 7.2.0.


id: PHP_OUTPUT_HANDLER_CLEAN
type: constant
doc:
<comment>Description:</comment>
  Indica que el búfer de salida ha sido limpiado.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_CLEANABLE
type: constant
doc:
<comment>Description:</comment>
  Controla si un búfer de salida creado por <strong>ob_start()</strong> puede ser limpiado.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_CONT
type: constant
doc:
<comment>Description:</comment>
  Indica que el búfer de salida ha sido volcado, pero que el almacenamiento en el búfer de salida
  continurá.
  
  A partir de PHP 5.4, esta constante es un alias de <info>PHP_OUTPUT_HANDLER_WRITE</info>.


id: PHP_OUTPUT_HANDLER_END
type: constant
doc:
<comment>Description:</comment>
  Indica que el almacenamiento del búfer de salida ha finalizado.
  
  A partir de PHP 5.4, esta constante es un alias de <info>PHP_OUTPUT_HANDLER_FINAL</info>.


id: PHP_OUTPUT_HANDLER_FINAL
type: constant
doc:
<comment>Description:</comment>
  Indica que esta es la operación final del almacenamiento del búfer de salida.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_FLUSH
type: constant
doc:
<comment>Description:</comment>
  Indica que el búfer de salida ha sido volcado.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_FLUSHABLE
type: constant
doc:
<comment>Description:</comment>
  Controla si un búfer de salida creado por <strong>ob_start()</strong> puede ser volcado.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_REMOVABLE
type: constant
doc:
<comment>Description:</comment>
  Controla si un búfer de salida creado por <strong>ob_start()</strong> puede ser eliminado antes de finalizar el
  script.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_STDFLAGS
type: constant
doc:
<comment>Description:</comment>
  El conjunto predeterminado de banderas de búfer de salida; actualmente equivalente a
  <info>PHP_OUTPUT_HANDLER_CLEANABLE</info> | <info>PHP_OUTPUT_HANDLER_FLUSHABLE</info> | <info>PHP_OUTPUT_HANDLER_REMOVABLE</info>.
  
  Disponible desde PHP 5.4.


id: PHP_OUTPUT_HANDLER_WRITE
type: constant
doc:
<comment>Description:</comment>
  Indica que el búfer de salida está siendo volcado y tiene datos para producir una salida.
  
  Disponible desde PHP 5.4.


id: PHP_PREFIX
type: constant
doc:
<comment>Description:</comment>
  El valor de "--prefix" usado en la configuración. En Windows, es el valor --with-prefix que se
  estableció en la configuración.


id: PHP_QUERY_RFC1738
type: constant
doc:
<comment>Description:</comment>
  Codificación realizada por RFC 1738 y el tipo de media <return>application/x-www-form-urlencoded</return>, lo que
  implica que los espacios están codificados como signos "más" (<return>+</return>).


id: PHP_QUERY_RFC3986
type: constant
doc:
<comment>Description:</comment>
  La codificación se lleva a cabo según el RFC 3986, y los espacios se cofificarán con porcentajes
  (<return>%20</return>).


id: PHP_RELEASE_VERSION
type: constant
doc:
<comment>Description:</comment>
  La versión de "publicación" (release) actual de PHP como valor integer (p.ej., int(7) en la
  versión "5.2.7-extra").


id: PHP_SAPI
type: constant
doc:
<comment>Description:</comment>
  La API del servidor de la compilación de PHP. Ver también <strong>php_sapi_name()</strong>.


id: PHP_SESSION_ACTIVE
type: constant
doc:
<comment>Description:</comment>
  Devolver el valor de la función <strong>session_status()</strong> si las sesiones están habilitadas, y existe una
  sesión.


id: PHP_SESSION_DISABLED
type: constant
doc:
<comment>Description:</comment>
  Desde PHP 5.4.0. Devolver el valor de la función <strong>session_status()</strong> si las sesiones están
  deshabilitadas.


id: PHP_SESSION_NONE
type: constant
doc:
<comment>Description:</comment>
  Desde PHP 5.4.0. Devolver el valor de la función <strong>session_status()</strong> si las sesiones están
  habilitadas, pero no existe una sesión.


id: PHP_SHLIB_SUFFIX
type: constant
doc:
<comment>Description:</comment>
  Sufijo de las bibliotecas compartidas de la plataforma de compilación, como "so" (mayoría de
  plataformas Unix) o "dll" (Windows).


id: PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS
type: constant
doc:
<comment>Description:</comment>
  Propiedad personalizada para ignorar los errores de verificación del certificado SSL


id: PHP_URL_FRAGMENT
type: constant
doc:
<comment>Description:</comment>
  Muestra el fragmento (string después del símbolo #) del URL analizado.


id: PHP_VERSION
type: constant
doc:
<comment>Description:</comment>
  La versión actual de PHP en notación "mayor.menor.edición[extra]".


id: PHP_VERSION_ID
type: constant
doc:
<comment>Description:</comment>
  La versión de PHP actual como valor integer, útil para comparar versiones (p.ej., int(50207) para
  la versión "5.2.7-extra").


id: PHP_WINDOWS_EVENT_CTRL_BREAK
type: constant
doc:
<comment>Description:</comment>
  El evento <return>CTRL+BREAK</return> en Windows. Disponible a partir de PHP 7.4.0 (sólo para Windows).


id: PHP_WINDOWS_EVENT_CTRL_C
type: constant
doc:
<comment>Description:</comment>
  El evento <return>CTRL+C</return> en Windows. Disponible a partir de PHP 7.4.0 (sólo para Windows).


id: PHP_WINDOWS_NT_SERVER
type: constant
doc:
<comment>Description:</comment>
  El servidor del sistema (ej. Server 2008/2003/2000), observe que si es un  controlador de dominio
  será informado como <info>PHP_WINDOWS_NT_DOMAIN_CONTROLLER</info>.


id: PHP_WINDOWS_VERSION_BUILD
type: constant
doc:
<comment>Description:</comment>
  El número del build de Windows (por ejemplo, Windows Vista con SP1 sería el build número 6001)


id: PHP_WINDOWS_VERSION_MAJOR
type: constant
doc:
<comment>Description:</comment>
  El número mayor de la versión de Windows, que puede tener el valor <return>4</return> (NT4/Me/98/95),  <return>5</return> (XP/2003
  R2/2003/2000) o <return>6</return> (Vista/2008/7/8/8.1).


id: PHP_WINDOWS_VERSION_MINOR
type: constant
doc:
<comment>Description:</comment>
  El número menor de la versión de Windows, que puede tener el valor <return>0</return> (Vista/2008/2000/NT4/95),  <return>1</return>
  (XP), <return>2</return> (2003 R2/2003/XP x64), <return>10</return> (98)  o <return>90</return> (ME).


id: PHP_WINDOWS_VERSION_PLATFORM
type: constant
doc:
<comment>Description:</comment>
  La plataforma en la que PHP se está ejecutando, su valor es <return>2</return> en Windows  Vista/XP/2000/NT4,
  Server 2008/2003 y en Windows ME/98/95 su valor es <return>1</return>.


id: PHP_WINDOWS_VERSION_PRODUCTTYPE
type: constant
doc:
<comment>Description:</comment>
  Contiene el valor usado para determinar las constantes  <return>PHP_WINDOWS_NT_*</return>. Este valor puede ser una
  de las constantes <return>PHP_WINDOWS_NT_*</return> que indica el tipo de sistema que se está usando.


id: PHP_WINDOWS_VERSION_SP_MAJOR
type: constant
doc:
<comment>Description:</comment>
  El número mayor de la versión del service pack instalado, su valor es <return>0</return>  si no hay ningún service
  pack instalado. Por ejemplo, Windows XP con service pack 3 instalado hará que el valor sea <return>3</return>.


id: PHP_WINDOWS_VERSION_SP_MINOR
type: constant
doc:
<comment>Description:</comment>
  El número menor de la versión del service pack instalado, su valor es <return>0</return>  si no hay ningún service
  pack instalado.


id: PHP_WINDOWS_VERSION_SUITEMASK
type: constant
doc:
<comment>Description:</comment>
  El suitemask es una máscara de bits que puede indicar si determinadas características de Windows
  están instaladas, consulte la siguiente tabla para ver los diferentes valores del campo de bits.


id: PKCS7_BINARY
type: constant
doc:
<comment>Description:</comment>
  Normalmente el mensaje de entrada es convertido a formato "canónico" en el que de hecho se usa <return>CR</return>
  y <return>LF</return> como final de línea: como se require por la especificación S/MIME. Cuando esta opción está
  presente, no se realiza ninguna traducción. Ésto es útil cuando se maneja información binaria que
  puede no estar en formato MIME.


id: PKCS7_DETACHED
type: constant
doc:
<comment>Description:</comment>
  Cuando se firma un mensaje, se usa la firma de texto claro con el tipo MIME <return>"multiparte/firmado"</return>.
  Esto es lo predeterminado si no se especifican algunos <strong>$flags</strong> a <strong>openssl_pkcs7_sign()</strong>. Si se
  desactiva esta opción, el mensaje será firmado usando la firma opaca, que es más resistente a
  traducciones por transmisiones de correo, pero no puede ser leída por agentes de correo que no
  soporten S/MIME.


id: PKCS7_NOATTR
type: constant
doc:
<comment>Description:</comment>
  Normalmente cuando un mensaje está firmado se incluyen un conjunto de atributos como el momento de
  la firma y los algoritmos simétricos soportados. Con esta opción todos éstos no se incluyen.


id: PKCS7_NOCERTS
type: constant
doc:
<comment>Description:</comment>
  Cuando se firma un mensaje, el certificado del firmante normalmente está incluido - con esta
  opción se excluye. Esto reducirá el tamaño del mensaje firmado pero el verificador debe tener una
  copia del certificado del firmante que esté disponible localmente (usando al pasar <strong>$extracerts</strong> a
  <strong>openssl_pkcs7_verify()</strong> por ejemplo).


id: PKCS7_NOCHAIN
type: constant
doc:
<comment>Description:</comment>
  No encadenar la verificación de certificados de firmas: es decir, no usar los certificados en el
  mensaje firmado como AC que no es de confianza.


id: PKCS7_NOINTERN
type: constant
doc:
<comment>Description:</comment>
  Cuando se verifica un mensaje, los certificados (si hay alguno) incluidos en el mensaje son
  buscados normalmente por el certificado de firma. Con esta opción sólo los certificados
  especificados el el parámetro <strong>$extracerts</strong> de <strong>openssl_pkcs7_verify()</strong> se usan. Sin embargo, los
  certificados proporcionados pueden aún ser usados como AC que no son de confianza.


id: PKCS7_TEXT
type: constant
doc:
<comment>Description:</comment>
  Añade cabeceras de tipo de contenido texto/plano al mensaje encriptado/firmado. Si se desencripta
  o verifica, se desmontan esas cabeceras de la salida - si el mensaje desencriptado o verificado no
  es del tipo MIME texto/plano ocurrirá un error.


id: PNG_ALL_FILTERS
type: constant
doc:
<comment>Description:</comment>
  Un filtro PNG especial usada por la función <strong>imagepng()</strong>.


id: POSIX_RLIMIT_AS
type: constant
doc:
<comment>Description:</comment>
  El tamaño máximo del espacio de direcciones del proceso en bytes. Véase también la directiva de
  configuración memory_limit de PHP.


id: POSIX_RLIMIT_CORE
type: constant
doc:
<comment>Description:</comment>
  El tamaño máximo de un fichero de núcleo. Si el límite se establece a 0, no se generará ningún
  fichero de núcleo.


id: POSIX_RLIMIT_CPU
type: constant
doc:
<comment>Description:</comment>
  La cantidad máxima de tiempo de CPU que puede usar el proceso, en segundos. Cuando se alcanza el
  límite blando, se envia una señal <return>SIGXCPU</return>, la cual puede ser capturada con <strong>pcntl_signal()</strong>.
  Dependiendo del sistema operativo, se podrían enviar señales <return>SIGXCPU</return> adicionales cada segundo
  hasta alcanzar el límite duro, en cuyo punto se envía una señal <return>SIGKILL</return> no capturable.
  
  Véase también <strong>set_time_limit()</strong>.


id: POSIX_RLIMIT_DATA
type: constant
doc:
<comment>Description:</comment>
  El tamaño máximo del segmento de datos del proceso, en bytes. Es extremadamente improbable que
  este límite tenga efecto en la ejecución de PHP a menos que una extensión utilice las llamadas
  <strong>brk()</strong> o <strong>sbrk()</strong>.


id: POSIX_RLIMIT_FSIZE
type: constant
doc:
<comment>Description:</comment>
  El tamaño máximo de ficheros que puede crear un proceso, en bytes.


id: POSIX_RLIMIT_INFINITY
type: constant
doc:
<comment>Description:</comment>
  Empleada para indicar un valor infinito para un límite de recurso.


id: POSIX_RLIMIT_LOCKS
type: constant
doc:
<comment>Description:</comment>
  El número máximo de bloqueos que puede crear un proceso. Solamente está soportado en núcleos de
  Linux extremadamente antiguos.


id: POSIX_RLIMIT_MEMLOCK
type: constant
doc:
<comment>Description:</comment>
  El número máximo de bytes que pueden estar bloqueados en memoria.


id: POSIX_RLIMIT_MSGQUEUE
type: constant
doc:
<comment>Description:</comment>
  El número máximo de bytes que pueden ser asignados a colas de mensajes de POSIX. PHP no viene con
  soporte para colas de mensajes de POSIX, por lo que este límite no tendrá ningún efecto a menos
  que se utilice una extensión que implemente dicho soporte.


id: POSIX_RLIMIT_NICE
type: constant
doc:
<comment>Description:</comment>
  El valor máximo en el cual el proceso puede ser «reniced». El valor que se empleará será <return>20 -
  límite</return>, ya que los valores límite de recursos no pueden ser negativos.


id: POSIX_RLIMIT_NOFILE
type: constant
doc:
<comment>Description:</comment>
  Un valor uno mayor que el número máximo  de descriptor de fichero que puede ser abierto por este
  proceso.


id: POSIX_RLIMIT_NPROC
type: constant
doc:
<comment>Description:</comment>
  El número máximo de procesos (y/o hilos, en algunos sistemas operativos) que pueden ser creado por
  el ID de usuario resal del proceso.


id: POSIX_RLIMIT_RSS
type: constant
doc:
<comment>Description:</comment>
  El tamaño máximo del conjunto de residentes del proceso, en páginas.


id: POSIX_RLIMIT_RTPRIO
type: constant
doc:
<comment>Description:</comment>
  El prioridad de tiempo real qeu se puede establecer mediante las llamadas <strong>sched_setscheduler()</strong> y
  <strong>sched_setparam()</strong> al sistema.


id: POSIX_RLIMIT_RTTIME
type: constant
doc:
<comment>Description:</comment>
  La cantidad máxima de tiempo de  CPU, en microsegundos, que el proceso puede consumir sin hacer
  una llamada bloqueanta al sistema si emplea una programación de tiempo real.


id: POSIX_RLIMIT_SIGPENDING
type: constant
doc:
<comment>Description:</comment>
  El número máximo de señales que se pueden poner en cola para el ID de usuario real del proceso.


id: PREG_BACKTRACK_LIMIT_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si el límite de marcha atrás fue agotado.
  
  5.2.0


id: PREG_BAD_UTF8_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si el último error fue causado por datos UTF-8 malformados (sólo
  cuando se ejecuta una expresión regular en modo UTF-8).
  
  5.2.0


id: PREG_BAD_UTF8_OFFSET_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si el índice no se correspondió con el inicio de un punto de código
  UTF-8 válido (sólo cuando se ejecuta una expresión regular en modo UTF-8).
  
  5.3.0


id: PREG_INTERNAL_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si se produjo un error interno de PCRE.
  
  5.2.0


id: PREG_JIT_STACKLIMIT_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si la última función de PCRE falló debido al espacio limitado de la
  pila JIT.
  
  7.0.0


id: PREG_NO_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si no se produjeron errores.
  
  5.2.0


id: PREG_OFFSET_CAPTURE
type: constant
doc:
<comment>Description:</comment>
  Véase la descripción de <info>PREG_SPLIT_OFFSET_CAPTURE</info>.
  
  4.3.0


id: PREG_PATTERN_ORDER
type: constant
doc:
<comment>Description:</comment>
  Ordena los resultados de forma que $coincidencias[0] es un array de coincidencias del patrón
  completo, $coincidencias[1] es un array de cadenas que coinciden con el primer subpatrón entre
  paréntesis, y así sucesivamente. Esta bandera sólo se usa con <strong>preg_match_all()</strong>.


id: PREG_RECURSION_LIMIT_ERROR
type: constant
doc:
<comment>Description:</comment>
  Devuelto por <strong>preg_last_error()</strong> si el límite de recursividad fue agotado.
  
  5.2.0


id: PREG_SET_ORDER
type: constant
doc:
<comment>Description:</comment>
  Ordena los resultados de forma que $coincidencias[0] es un array del primer conjunto de
  coincidencias, $coincidencias[1] es un array del segundo conjunto de coincidencias, y así
  sucesivamente. Esta bandera sólo se usa con <strong>preg_match_all()</strong>.


id: PREG_SPLIT_DELIM_CAPTURE
type: constant
doc:
<comment>Description:</comment>
  Esta bandera le indica a <strong>preg_split()</strong> que capture también la expresión entre paréntesis en el
  patrón delimitador.
  
  4.0.5


id: PREG_SPLIT_NO_EMPTY
type: constant
doc:
<comment>Description:</comment>
  Esta bandera le indica a <strong>preg_split()</strong> que devuelva sólo elementos que no estén vacíos.


id: PREG_SPLIT_OFFSET_CAPTURE
type: constant
doc:
<comment>Description:</comment>
  Si se establece esta bandera, por cada coincidencia producida, el índice de la cadena añadida
  también será devuelto. Observe que esto cambia los valores devueltos en un array, donde cada
  elemento es un array consistente en la cadena coincidente en el índice 0, y su índice dentro de la
  cadena objetivo en el índice 1. Esta bandera sólo es usada por <strong>preg_split()</strong>.
  
  4.3.0


id: PSFS_ERR_FATAL
type: constant
doc:
<comment>Description:</comment>
  <return>Codigo Devuelto</return> indicando que el filtro de espacio de usuario encontró un error irrecuperable (es
  decir, Recibida información no válida).


id: PSFS_FEED_ME
type: constant
doc:
<comment>Description:</comment>
  <return>Codigo Devuelto</return> indicando que el filtro de espacio de usuario no devolvió recipientes en <strong>$out</strong> (es
  decir, No hay información disponible).


id: PSFS_PASS_ON
type: constant
doc:
<comment>Description:</comment>
  <return>Codigo Devuelto</return> indicando que el filtro de espacio de usuario devolvió recipientes en <strong>$out</strong>.


id: PTHREADS_ALLOW_HEADERS
type: constant
doc:
<comment>Description:</comment>
  Permitir que los nuevos Thread envíen cabeceras a la salida estándar (normalmente prohibido)


id: PTHREADS_INHERIT_ALL
type: constant
doc:
<comment>Description:</comment>
  Las opciones predeterminadas para todos los Thread; hace que pthreads copie el entorno al iniciar
  nuevos Thread


id: PTHREADS_INHERIT_CLASSES
type: constant
doc:
<comment>Description:</comment>
  Heredar las clases declaradas por el usuario al iniciar nuevos Thread


id: PTHREADS_INHERIT_CONSTANTS
type: constant
doc:
<comment>Description:</comment>
  Heredar las constantes declaradas por el usuario al iniciar nuevos Thread


id: PTHREADS_INHERIT_FUNCTIONS
type: constant
doc:
<comment>Description:</comment>
  Heredar las funciones declaradas por el usuario al iniciar nuevos Thread


id: PTHREADS_INHERIT_INCLUDES
type: constant
doc:
<comment>Description:</comment>
  Heredar la información del fichero incluido al iniciar nuevos Thread


id: ParentIterator
type: class
doc:
<comment>Description:</comment>
  Esta <class>FilterIterator</class> ampliada permite una iteración recursiva usando <class>RecursiveIteratorIterator</class>, que
  solamente muestra los elementos que tienen hijos.


id: ParentIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construye un ParentIterator
  
  Construye un <class>ParentIterator</class> en un iterador.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>RecursiveIterator</info>  <strong>$iterator</strong>  El iterador a ser construido.

<comment>Return:</comment>
  <info>unknown</info>  El <class>ParentIterator</class>.


id: ParentIterator::accept
type: function
doc:
<comment>Description:</comment>
  Determina aceptabilidad
  
  Determina si el elemento actual tiene un hijo.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el elemento actual es aceptable, en caso contrario <info>false</info>.

<comment>See Also:</comment>
   * ParentIterator::hasChildren
   * FilterIterator::accept


id: ParentIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve los iteradores hijo contenidos en un ParentIterator
  
  Obtiene los iteradores hijo contenidos en un ParentIterator.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>ParentIterator</info>  Un <info>object</info>.


id: ParentIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Comprueba si los iteradores internos del elemento actual tiene un hijos
  
  Comprueba si los iteradores internos del elemento actual tiene un hijos.
  
  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: ParentIterator::next
type: function
doc:
<comment>Description:</comment>
  Mueve el iterador a la siguiente posición
  
  Mueve el iterador a la siguiente posición.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: ParentIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rebobina el iterador
  
  Rebobinar el iterador.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: Parle\ErrorInfo
type: class
doc:
<comment>Description:</comment>
  The class represents detailed error information as supplied by Parle\Parser::errorInfo


id: Parle\INTERNAL_UTF32
type: constant
doc:
<comment>Description:</comment>
  Flag whether the internal UTF-32 support is compiled in. Available since parle 0.7.2.


id: Parle\Lexer
type: class
doc:
<comment>Description:</comment>
  Single state lexer class. Lexemes can be defined on the fly. If the particular lexer instance is
  meant to be used with <class>Parle\Parser</class>, the token IDs need to be taken from there. Otherwise,
  arbitrary token IDs can be supplied. This lexer can give a certain performance advantage over
  <class>Parle\RLexer</class>, if no multiple states are required. Note, that <class>Parle\RParser</class> is not compatible with
  this lexer.


id: Parle\Lexer::advance
type: function
doc:
<comment>Description:</comment>
  Process next lexer rule
  
  Processes the next rule and prepares the resulting token data.

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


id: Parle\Lexer::build
type: function
doc:
<comment>Description:</comment>
  Finalize the lexer rule set
  
  Rules, previously added with Parle\Lexer::push are finalized. This method call has to be done
  after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

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


id: Parle\Lexer::callout
type: function
doc:
<comment>Description:</comment>
  Define token callback
  
  Define a callback to be invoked once lexer encounters a particular token.

<comment>Param:</comment>
  <info>int</info>       <strong>$id</strong>        Token id.
  <info>callable</info>  <strong>$callback</strong>  Callable to be invoked. The callable doesn't receive any arguments and its
                       return value is ignored.

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


id: Parle\Lexer::consume
type: function
doc:
<comment>Description:</comment>
  Pass the data for processing
  
  Consume the data for lexing.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Data to be lexed.

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


id: Parle\Lexer::dump
type: function
doc:
<comment>Description:</comment>
  Dump the state machine
  
  Dump the current state machine to stdout.

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


id: Parle\Lexer::getToken
type: function
doc:
<comment>Description:</comment>
  Retrieve the current token
  
  Retrieve the current token.

<comment>Return:</comment>
  <info>Parle\Token</info>  Returns an instance of <class>Parle\Token</class>.


id: Parle\Lexer::insertMacro
type: function
doc:
<comment>Description:</comment>
  Insert regex macro
  
  Insert a regex macro, that can be later used as a shortcut and included in other regular
  expressions.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>   Name of the macros.
  <info>string</info>  <strong>$regex</strong>  Regular expression.

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


id: Parle\Lexer::push
type: function
doc:
<comment>Description:</comment>
  Add a lexer rule
  
  Push a pattern for lexeme recognition.

<comment>Param:</comment>
  <info>string</info>  <strong>$regex</strong>  Regular expression used for token matching.
  <info>int</info>     <strong>$id</strong>     Token id. If the lexer instance is meant to be used standalone, this can be an
                  arbitrary number. If the lexer instance is going to be passed to the parser, it
                  has to be an id returned by Parle\Parser::tokenid.

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


id: Parle\Lexer::reset
type: function
doc:
<comment>Description:</comment>
  Reset lexer
  
  Reset lexing optionally supplying the desired offset.

<comment>Param:</comment>
  <info>int</info>  <strong>$pos</strong>  Reset position.

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


id: Parle\Parser
type: class
doc:
<comment>Description:</comment>
  Parser class. Rules can be defined on the fly. Once finalized, a <class>Parle\Lexer</class> instance is required
  to deliver the token stream.


id: Parle\Parser::advance
type: function
doc:
<comment>Description:</comment>
  Process next parser rule
  
  Process next parser rule.

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


id: Parle\Parser::build
type: function
doc:
<comment>Description:</comment>
  Finalize the grammar rules
  
  Any tokens and grammar rules previously added are finalized. The rule set becomes readonly and the
  parser is ready to start.

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


id: Parle\Parser::consume
type: function
doc:
<comment>Description:</comment>
  Consume the data for processing
  
  Consume the data for parsing.

<comment>Param:</comment>
  <info>string</info>       <strong>$data</strong>   Data to be parsed.
  <info>Parle\Lexer</info>  <strong>$lexer</strong>  A lexer object containing the lexing rules prepared for the particular
                       grammar.

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


id: Parle\Parser::dump
type: function
doc:
<comment>Description:</comment>
  Dump the grammar
  
  Dump the current grammar to stdout.

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


id: Parle\Parser::errorInfo
type: function
doc:
<comment>Description:</comment>
  Retrieve the error information
  
  Retrieve the error information in case Parle\Parser::action returned the error action.

<comment>Return:</comment>
  <info>Parle\ErrorInfo</info>  Returns an instance of <class>Parle\ErrorInfo</class>.


id: Parle\Parser::left
type: function
doc:
<comment>Description:</comment>
  Declare a token with left-associativity
  
  Declare a terminal with left associativity.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\Parser::nonassoc
type: function
doc:
<comment>Description:</comment>
  Declare a token with no associativity
  
  Declare a terminal, that cannot appear more than once in the row.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\Parser::precedence
type: function
doc:
<comment>Description:</comment>
  Declare a precedence rule
  
  Declares a precedence rule for a fictitious terminal symbol. This rule can be later used in the
  specific grammar rules.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\Parser::push
type: function
doc:
<comment>Description:</comment>
  Add a grammar rule
  
  Push a grammar rule. The production id returned can be used later in the parsing process to
  identify the rule matched.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Rule name.
  <info>string</info>  <strong>$rule</strong>  The rule to be added. The syntax is Bison compatible.

<comment>Return:</comment>
  <info>int</info>  Returns <info>int</info> representing the rule index.


id: Parle\Parser::reset
type: function
doc:
<comment>Description:</comment>
  Reset parser state
  
  Reset parser state using the given token id.

<comment>Param:</comment>
  <info>int</info>  <strong>$tokenId</strong>  Token id.

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


id: Parle\Parser::right
type: function
doc:
<comment>Description:</comment>
  Declare a token with right-associativity
  
  Declare a terminal with right associativity.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\Parser::sigil
type: function
doc:
<comment>Description:</comment>
  Retrieve a matching part of a rule
  
  Retrieve a part of the match by a rule. This method is equivalent to the pseudo variable
  functionality in Bison.

<comment>Param:</comment>
  <info>int</info>  <strong>$idx</strong>  Match index, zero based.

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info> with the matched part.


id: Parle\Parser::sigilCount
type: function
doc:
<comment>Description:</comment>
  Number of elements in matched rule
  
  Get number of elements in the matched rule.

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


id: Parle\Parser::sigilName
type: function
doc:
<comment>Description:</comment>
  Retrieve a rule or token name
  
  Retrieve a partial rule name or token name corresponding to the sigil index.

<comment>Param:</comment>
  <info>int</info>  <strong>$idx</strong>  Match index, zero based.

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info> with the matched part.


id: Parle\Parser::token
type: function
doc:
<comment>Description:</comment>
  Declare a token
  
  Declare a terminal to be used in the grammar.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\Parser::tokenId
type: function
doc:
<comment>Description:</comment>
  Get token id
  
  Retrieve the id of the named token.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Name of the token as used in Parle\Parser::token.

<comment>Return:</comment>
  <info>int</info>  Returns <info>int</info> representing the token id.


id: Parle\Parser::trace
type: function
doc:
<comment>Description:</comment>
  Trace the parser operation
  
  Retrieve the current parser operation description. This can be especially useful for studying the
  parser and to optimize the grammar.

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info> with the trace information.


id: Parle\Parser::validate
type: function
doc:
<comment>Description:</comment>
  Validate input
  
  Validate an input string. The string is parsed internally, thus this method is useful for the
  quick input validation.

<comment>Param:</comment>
  <info>string</info>       <strong>$data</strong>   String to be validated.
  <info>Parle\Lexer</info>  <strong>$lexer</strong>  A lexer object containing the lexing rules prepared for the particular
                       grammar.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>bool</info> witnessing whether the input chimes or not with the defined rules.


id: Parle\RLexer
type: class
doc:
<comment>Description:</comment>
  Multistate lexer class. Lexemes can be defined on the fly. If the particular lexer instance is
  meant to be used with <class>Parle\RParser</class>, the token IDs need to be taken from there. Otherwise,
  arbitrary token IDs can be supplied. Note, that <class>Parle\Parser</class> is not compatible with this lexer.


id: Parle\RLexer::build
type: function
doc:
<comment>Description:</comment>
  Finalize the lexer rule set
  
  Rules, previously added with Parle\RLexer::push are finalized. This method call has to be done
  after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

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


id: Parle\RLexer::getToken
type: function
doc:
<comment>Description:</comment>
  Retrieve the current token
  
  Retrive the current token.

<comment>Return:</comment>
  <info>Parle\Token</info>  Returns an instance of <class>Parle\Token</class>.


id: Parle\RLexer::push
type: function
doc:
<comment>Description:</comment>
  Add a lexer rule
  
  Push a pattern for lexeme recognition.
  
  A 'start state' and 'exit state' can be specified by using a suitable signature.

<comment>Param:</comment>
  <info>string</info>  <strong>$regex</strong>     Regular expression used for token matching.
  <info>int</info>     <strong>$id</strong>        Token id. If the lexer instance is meant to be used standalone, this can be an
                     arbitrary number. If the lexer instance is going to be passed to the parser, it
                     has to be an id returned by Parle\RParser::tokenid.
  <info>string</info>  <strong>$state</strong>     State name. If '*' is used as start state, then the rule is applied to all
                     lexer states.
  <info>string</info>  <strong>$newState</strong>  New state name, after the rule was applied.
                     
                     If '.' is specified as the exit state, then the lexer state is unchanged when
                     that rule matches. An exit state with '&gt;' before the name means push. Use
                     the signature without id for either continuation or to start matching, when a
                     continuation or recursion is required.
                     
                     If '\<' is specified as exit state, it means pop. In that case, the signature containing the id can be used to identify the match. Note that even in the case an id is specified, the rule will finish first when all the previous pushes popped.

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


id: Parle\RLexer::pushState
type: function
doc:
<comment>Description:</comment>
  Push a new start state
  
  This lexer type can have more than one state machine. This allows you to lex different tokens
  depending on context, thus allowing simple parsing to take place. Once a state pushed, it can be
  used with a suitable Parle\RLexer::push signature variant.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>  Name of the state.

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


id: Parle\RParser
type: class
doc:
<comment>Description:</comment>
  Parser class. Rules can be defined on the fly. Once finalized, a <class>Parle\RLexer</class> instance is required
  to deliver the token stream.


id: Parle\RParser::advance
type: function
doc:
<comment>Description:</comment>
  Process next parser rule
  
  Prosess next parser rule.

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


id: Parle\RParser::consume
type: function
doc:
<comment>Description:</comment>
  Consume the data for processing
  
  Consume the data for parsing.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>   Data to be parsed.
  <info></info>        <strong>$lexer</strong>  A lexer object containing the lexing rules prepared for the particular grammar.

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


id: Parle\RParser::errorInfo
type: function
doc:
<comment>Description:</comment>
  Retrieve the error information
  
  Retrieve the error information in case Parle\RParser::action returned the error action.

<comment>Return:</comment>
  <info>Parle\ErrorInfo</info>  Returns an instance of <class>Parle\ErrorInfo</class>.


id: Parle\RParser::precedence
type: function
doc:
<comment>Description:</comment>
  Declare a precedence rule
  
  Declares a precedence rule for a fictious terminal symbol. This rule can be later used in the
  specific grammar rules.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Token name.

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


id: Parle\RParser::tokenId
type: function
doc:
<comment>Description:</comment>
  Get token id
  
  Retrieve the id of the named token.

<comment>Param:</comment>
  <info>string</info>  <strong>$tok</strong>  Name of the token as used in Parle\RParser::token.

<comment>Return:</comment>
  <info>int</info>  Returns <info>int</info> representing the token id.


id: Parle\RParser::trace
type: function
doc:
<comment>Description:</comment>
  Trace the parser operation
  
  Retrieve the current parser operation description. This can be especially useful to study the
  parser and to optimize the grammar.

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info> with the trace information.


id: Parle\RParser::validate
type: function
doc:
<comment>Description:</comment>
  Validate input
  
  Validate an input string. The string is parsed internally, thus this method is useful for the
  quick input validation.

<comment>Param:</comment>
  <info>string</info>        <strong>$data</strong>   String to be validated.
  <info>Parle\RLexer</info>  <strong>$lexer</strong>  A lexer object containing the lexing rules prepared for the particular
                        grammar.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>bool</info> whitnessing whether the input chimes or not with the defined rules.


id: Parle\Stack
type: class
doc:
<comment>Description:</comment>
  <class>Parle\Stack</class> is a LIFO stack. The elements are inserted and removed only from one end.


id: Parle\Stack::pop
type: function
doc:
<comment>Description:</comment>
  Pop an item from the stack

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


id: Parle\Stack::push
type: function
doc:
<comment>Description:</comment>
  Push an item into the stack

<comment>Param:</comment>
  <info>mixed</info>  <strong>$item</strong>  Variable to be pushed.

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


id: Parle\Token
type: class
doc:
<comment>Description:</comment>
  This class represents a token. Lexer returns instances of this class.


id: Phar
type: class
doc:
<comment>Description:</comment>
  La clase Phar proporciona una interfaz de alto nivel para el acceso y la creación de  archivos
  phar.


id: Phar::COMPRESSED
type: constant
doc:
<comment>Description:</comment>
  0x0000F000
  
  máscara de bit que puede ser usada con banderas de fichero para determinar si está presente algún
  tipo de compresión


id: Phar::OPENSSL
type: constant
doc:
<comment>Description:</comment>
  signatura con la pareja de claves pública/privada de OpenSSL. Esta es una signatura de clave
  asimétrica verdadera.


id: Phar::PHP
type: constant
doc:
<comment>Description:</comment>
  usada para ordenar al parámetro de sobrescritura MIME de <strong>Phar::webPhar()</strong> que la extensión debería
  ser analizada como un fichero de PHP


id: Phar::PHPS
type: constant
doc:
<comment>Description:</comment>
  usada para ordenar al parámetro de sobrescritura MIME de <strong>Phar::webPhar()</strong> que la extensión debería
  ser analizada como un fichero fuente de PHP a través de <strong>highlight_file()</strong>


id: Phar::SHA256
type: constant
doc:
<comment>Description:</comment>
  singnatura con el algoritmo hash sha256 (requiere la extensión Hash)


id: Phar::SHA512
type: constant
doc:
<comment>Description:</comment>
  singnatura con el algoritmo hash sha512 (requiere la extensión Hash)


id: Phar::__construct
type: function
doc:
<comment>Description:</comment>
  Construir un objeto de archivo Phar

<comment>Param:</comment>
  <info>string</info>  <strong>$fname</strong>  Ruta a un archivo Phar existente o para ser creado La extensión del nombre del
                  fichero debe contener .phar.
  <info>int</info>     <strong>$flags</strong>  Banderas a pasar a la clase padre <class>RecursiveDirectoryIterator</class>.
  <info>string</info>  <strong>$alias</strong>  Alias con el que referirse al archivo Phar en las llamadas a funcionalidades de
                  flujos.


id: Phar::addEmptyDir
type: function
doc:
<comment>Description:</comment>
  Añadir un directorio vacío al archvo phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Con este método se crea un directorio vacío con la ruta dada por <return>dirname</return>. Este método es similar a
  <strong>ZipArchive::addEmptyDir()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$dirname</strong>  El nombre de directorio vacío a crear en el archivo phar

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>PharData::addEmptyDir()</strong>
   * <strong>Phar::addFile()</strong>
   * <strong>Phar::addFromString()</strong>


id: Phar::addFile
type: function
doc:
<comment>Description:</comment>
  Añadir un fichero desde el sistema de ficheros al archivo phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Con este método, cualquier fichero o URL se puede añadir al arcivo phar. Si se especifica el
  segundo parámetro opcional <return>localname</return>, el fichero será almacenado en el archivo con el nombre dado
  por el parámetro, si no se usará el parámetro <return>file</return> como la ruta para almacentar dentro del
  archivo. Las URLs deben tener un nombre local o se lanzará una excepción. Este método es similar a
  <strong>ZipArchive::addFile()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$file</strong>       La ruta completa o relativa del fichero del disco a ser añadido al archivo
                      phar.
  <info>string</info>  <strong>$localname</strong>  Ruta con la que el fichero será almacenado en el archivo.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>Phar::offsetSet()</strong>
   * <strong>PharData::addFile()</strong>
   * <strong>Phar::addFromString()</strong>
   * <strong>Phar::addEmptyDir()</strong>


id: Phar::addFromString
type: function
doc:
<comment>Description:</comment>
  Añadir un fichero desde un string al archivo phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Con este método, cuanquierl cadena se puede añadir al archivo phar. El fichero será almacenado en
  el archivo con <return>localname</return> como su ruta. Este método es similar a <strong>ZipArchive::addFromString()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$localname</strong>  Ruta con la que el fichero será almacenado en el archivo.
  <info>string</info>  <strong>$contents</strong>   El contenido del fichero a almacenar

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>Phar::offsetSet()</strong>
   * <strong>PharData::addFromString()</strong>
   * <strong>Phar::addFile()</strong>
   * <strong>Phar::addEmptyDir()</strong>


id: Phar::apiVersion
type: function
doc:
<comment>Description:</comment>
  Devolver la versión de la API
  
  Devuelve la versión de la API del formato de fichero phar que será usado al crear phars. La
  extensión Phar soporta la lectura de la versión de la API 1.0.0 o superior. Se requiere la versión
  1.1.0 de la API para los algoritmos hash SHA-256 y SHA-512, y la versión 1.1.1 de la API para
  almacenar directorios vacíos.

<comment>Return:</comment>
  <info>string</info>  La cadena de la versión de la API como <return>"1.0.0"</return>.


id: Phar::buildFromDirectory
type: function
doc:
<comment>Description:</comment>
  Construir un archivo phar desde los ficheros de un directorio
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Rellena un archivo phar con el contenido de un directorio. El segundo parámtro opcional es una
  expresión regular (pcre) que se utiliza para excluir ficheros. Cualquier nombre de fichero que
  coincida con la expresión regular será incluido, todos los demás serán excluidos. Para un control
  más exhaustivo, use <strong>Phar::buildFromIterator()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$base_dir</strong>  La ruta completa o relativa al directorio que contiene todos los ficheros a
                     añadir al archivo.
  <info>string</info>  <strong>$regex</strong>     Una expresión regular de pcre opcional que se usa para filtrar la lista de
                     ficheros. Solamente las rutas de fichero que coincidan con la expresión regular
                     serán incluidas en el archivo.

<comment>Return:</comment>
  <info>array</info>  <strong>Phar::buildFromDirectory()</strong> devuelve un array asociativo que que mapea la ruta interna del
         fichero a la ruta completa del mismo en el sistema de ficheros.

<comment>See Also:</comment>
   * <strong>Phar::buildFromIterator()</strong>


id: Phar::buildFromIterator
type: function
doc:
<comment>Description:</comment>
  Construir un archivo phar desde un iterador
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Rellena un archivo phar desde un iterador. Están soportados dos estilos de iteradores, los
  iteradores que mapean el nombre de fichero dentro del phar al nombre del fichero en disco, y los
  iteradores como DirectoryIterator que devuelven objetos de la clase SplFileInfo. Se requiere el
  segundo parámetro para los iteradores que devuelven objetos de la clase SplFileInfo.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iter</strong>            Cualquier iterador que mapee de forma asociativa el fichero phar a la
                             ubiciación o que devuelva objetos de la clase SplFileInfo
  <info>string</info>    <strong>$base_directory</strong>  Para los iteradores que devuelven objetos de la clase SplFileInfo, es
                             la porción de cada ruta completa de fichero a eliminar cuando de añada
                             al archivo phar

<comment>Return:</comment>
  <info>array</info>  <strong>Phar::buildFromIterator()</strong> devuelve un array asociativo que que mapea la ruta interna del
         fichero a la ruta completa del mismo en el sistema de ficheros.

<comment>See Also:</comment>
   * <strong>Phar::buildFromDirectory()</strong>


id: Phar::canCompress
type: function
doc:
<comment>Description:</comment>
  Devuelve si la extensión phar soporta la compresión usando zlib o bzip2
  
  Este método debería usarse para comprobar si es posible una compresicón antes de cargar un archivo
  phar que contiene ficheros comprimidos.

<comment>Param:</comment>
  <info>int</info>  <strong>$type</strong>  Se puede usar tanto <info>Phar::GZ</info> o <info>Phar::BZ2</info> para comprobar si la compresión es posible
              con un algoritmo de compresión específico (zlib o bzip2).

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si la compresión/descompresión está disponible, <info>false</info> si no.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::convertToExecutable()</strong>
   * <strong>Phar::convertToData()</strong>


id: Phar::canWrite
type: function
doc:
<comment>Description:</comment>
  Devolver si la extensión phar soporta la escritura y creación de archivos phar
  
  Este método estático determina si ha sido deshabilitado el acceso a escritura en el php.ini del
  sistema mediante la variable INI phar.readonly.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el acceso a escritura esta habilitado, <info>false</info> si está deshabilitado.

<comment>See Also:</comment>
   * phar.readonly
   * <strong>Phar::isWritable()</strong>


id: Phar::compress
type: function
doc:
<comment>Description:</comment>
  Comprimir el archivo Phar entero usando la compresión Gzip o Bzip2
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Para archivos phar basados en tar y en phar, este método comprime el archivo entero usando la
  compresión gzip o bzip2. El fichero resultante puede ser procesado con el comando gunzip/bunzip, o
  se puede acceder a él directa y transparentemente con la extensión Phar.
  
  Para archivos phar basados en Zip, este método falla con el lanzamiento de una excepción. La
  extensión zlib debe estar habilitada para poder comprimir con la compresión gzip, y la extensión
  bzip2 debe estar habilitada para poder comprimir con la compresión bzip2. Al igual que con toda la
  funcionalidad que modifica el contenido de un Phar, la variable INI phar.readonly debe estar
  desactivada para poder realizar esto.
  
  Además, este método renombra automáticamente el archivo, añadiéndole <return>.gz</return>, <return>.bz2</return> o eliminado la
  extensión si se pasa <info>Phar::NONE</info> para eliminar la compresión. De forma alternativa, se puede
  expecificar una extensión de fichero con el segundo parámetro.

<comment>Param:</comment>
  <info>int</info>     <strong>$compression</strong>  La compresión debe ser <info>Phar::GZ</info> o <info>Phar::BZ2</info> para añadir compresión, o
                        <info>Phar::NONE</info> para eliminarla.
  <info>string</info>  <strong>$extension</strong>    Por omisión, la extensión es <return>.phar.gz</return> o <return>.phar.bz2</return> para comprimir archivos
                        phar, y <return>.phar.tar.gz</return> o <return>.phar.tar.bz2</return> para comprimir archivos tar. Para la
                        descompresión, las extensiones de fichero predeterminadas son <return>.phar</return> y
                        <return>.phar.tar</return>.

<comment>Return:</comment>
  <info>object</info>  Devuelve un objeto de la clase <class>Phar</class>.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>


id: Phar::compressFiles
type: function
doc:
<comment>Description:</comment>
  Comprime todos los ficheros del archivo Phar actual
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Para archivos phar basados en tar, este método lanza una excepción de tipo <class>BadMethodCallException</class>,
  ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el
  formato de fichero. Use <strong>Phar::compress()</strong> para comprimir un archivo phar entero basado en tar.
  
  Para achivos phar basados en Zip y phar, este método comprime todos los ficheros del archivo Phar
  usando la compresión especificada. Las extensiones zlib o bzip2 deben estar habilitadas para
  aprovechar esta característica. Además, si cualquier fichero ya está comprimido con la compresión
  bzip2/zlib, la extensión respectiva debe estar habilitada para poder descomprimir los ficheros
  antes de re-comprimirlos. Al igual que con toda la funcionalidad que modifica el contenido de un
  Phar, la variable INI phar.readonly debe estar desactivada para poder realizar esto.

<comment>Param:</comment>
  <info>int</info>  <strong>$compression</strong>  La compresión debe ser <info>Phar::GZ</info> o <info>Phar::BZ2</info> para añadir compresión, o
                     <info>Phar::NONE</info> para eliminarla.

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

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>


id: Phar::convertToData
type: function
doc:
<comment>Description:</comment>
  Convertir un archivo phar en un fichero tar o zip no ejecutable
  
  Este método se usa para convertir un archivo phar ejecutable en un fichero tar o zip. Para hacer
  del tar o zip un fichero no ejecutable, se eliminan los ficheros del phar de rutina de
  interoperabilidad y de alias del recién creado nuevo archivo.
  
  Si no se especifica ningún cambio, este método lanza una excepción de tipo <class>BadMethodCallException</class>
  si el archivo está en el formato de fichero phar. Para archivos en el formato tar o zip, este
  método convierte el archivo en un archivo no ejecutable.
  
  En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase
  <class>PharData</class>. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que
  el proceso haya finalizado.

<comment>Param:</comment>
  <info>int</info>     <strong>$format</strong>       Este parámetro debería ser <info>Phar::TAR</info> o <info>Phar::ZIP</info>. Si se establece a <info>null</info>, se
                        conservará el formato de fichero existente.
  <info>int</info>     <strong>$compression</strong>  Este parámetro debería ser <info>Phar::NONE</info> para no comprimir el archivo completo,
                        <info>Phar::GZ</info> para la compresión basada en zlib, y <info>Phar::BZ2</info> para la compresión
                        basada en bzip.
  <info>string</info>  <strong>$extension</strong>    Este parámetro se utiliza para sobrescribir la extensión de fichero
                        predeterminada de un archivo convertido. Observe que <return>.phar</return> no puede ser
                        usado en ningún lugar del nombre de fichero de un archivo tar o zip no
                        ejecutable.
                        
                        Si se convierte a un archivo basado en tar, las extensiones predeterminadas
                        son <return>.tar</return>, <return>.tar.gz</return>, y <return>.tar.bz2</return> dependiendo de la compresión especificada.
                        Para archivos basados en zip, la extensión predetermianda es <return>.zip</return>.

<comment>Return:</comment>
  <info>PharData</info>  El método devuelve un objeto <class>PharData</class> en caso de éxito, y lanza una excepción en caso de
            error.

<comment>See Also:</comment>
   * <strong>Phar::convertToExecutable()</strong>
   * <strong>PharData::convertToExecutable()</strong>
   * <strong>PharData::convertToData()</strong>


id: Phar::convertToExecutable
type: function
doc:
<comment>Description:</comment>
  Convertir un archivo phar en otro formato de archivo phar ejecutable
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Este método se utiliza para convertir un archivo phar en otro formato de fichero. Por ejemplo, se
  puede utilizar para crear un archivo phar ejecutable basado en tar desde un archivo phar
  ejecutable basado en zip, o desde un archivo phar ejecutable en el formato de fichero phar.
  Además, se puede utilizar para aplicar la compresión al archivo completo a un archivo basado en
  phar o tar.
  
  Si no se especifica ningún cambio, este método lanza una excepción de tipo <class>BadMethodCallException</class>
  
  En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase
  <class>PharData</class>. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que
  el proceso haya finalizado.

<comment>Param:</comment>
  <info>int</info>     <strong>$format</strong>       Este parámetro debería ser <info>Phar::PHAR</info>, <info>Phar::TAR</info>, o <info>Phar::ZIP</info>. Si se
                        establece a <info>null</info>, se conservará el formato de fichero existente.
  <info>int</info>     <strong>$compression</strong>  Este parámetro debería ser <info>Phar::NONE</info> para no comprimir el archivo completo,
                        <info>Phar::GZ</info> para la compresión basada en zlib, y <info>Phar::BZ2</info> para la compresión
                        basada en bzip.
  <info>string</info>  <strong>$extension</strong>    Este parámetro se utiliza para sobrescribir la extensión de fichero
                        predeterminada de un archivo convertido. Observe que todos los archivos phar
                        basados en zip o en tar deben contener <return>.phar</return> en su extensión de fichero para
                        poder ser procesados como un archivo phar.
                        
                        Si se convierte a un archivo basado en phar, las extensiones predeterminadas
                        son <return>.phar</return>, <return>.phar.gz</return>, o <return>.phar.bz2</return> dependiendo de la compresión especificada.
                        Para archivos phar basados en tar, las extensiones predeterminadas son
                        <return>.phar.tar</return>, <return>.phar.tar.gz</return>, y <return>.phar.tar.bz2</return>. Para archivos phar basados en zip,
                        la estensión predeterminada es <return>.phar.zip</return>.

<comment>Return:</comment>
  <info>Phar</info>  El método devuelve un objeto <class>Phar</class> en caso de éxito, y lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>Phar::convertToData()</strong>
   * <strong>PharData::convertToExecutable()</strong>
   * <strong>PharData::convertToData()</strong>


id: Phar::copy
type: function
doc:
<comment>Description:</comment>
  Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Copia un fichero interno de un archivo phar a otro fichero nuevo dentro del phar. Esta es una
  alternativa orientada a objetos para usar <strong>copy()</strong> con la envoltura de flujos phar.

<comment>Param:</comment>
  <info>string</info>  <strong>$oldfile</strong>  
  <info>string</info>  <strong>$newfile</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es más seguro encerrar la llamada al método en un
        bloque try/catch y asumir el éxito si no se lanza ninguna excepción.


id: Phar::count
type: function
doc:
<comment>Description:</comment>
  Devuelve el número de entradas (ficheros) en el archivo Phar

<comment>Return:</comment>
  <info>int</info>  El número de archivos que contiene Phar, o <return>0</return> (el número cero)  si no contiene.


id: Phar::createDefaultStub
type: function
doc:
<comment>Description:</comment>
  Crear una rutina de interoperabilidad específica del formato de fichero phar
  
  Este método está destinado a la creación de rutinas de interoperabilidad (stubs) específicas del
  formato de fichero phar, y no está destinado a ustilizarlo con archivo phar basados en tar o zip.
  
  Los archivos Phar contienen una rutina de interoperabilidad cargadora (en inglés <return>stub</return>) escrita en
  PHP que se ejecuta cuando el archivo es ejecutado en el propio PHP mediante inclusión:  ]]> o por
  simple ejecución:
  
  Este método proporciona una manera simple y sencilla de crear una rutina de interoperabilidad que
  ejecutará un fichero inicial desde el archivo phar. Además, se pueden especificar diferentes
  ficheros para ejecutar el archivo phar desde la línea de comandos o a través de un servidor web.
  La rutina de interoperabilidad cargadora también llama a <strong>Phar::interceptFileFuncs()</strong> para permitir
  empaquetar de manera sencilla una aplicación PHP que accede al sistema de ficheros. Si la
  extensión phar no está presente, la rutina de interoperabilidad cargadora extraerá el archivo phar
  en un directorio temporal y después operará sobre los archivos. Una función d cierre borra los
  ficheros temporales a la salida.

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena que contiene una rutina de interoperabildad personalizada (stub) que
          permite al archivo Phar creado funcionar con o sin la extensón Phar habilitada.

<comment>See Also:</comment>
   * <strong>Phar::setStub()</strong>
   * <strong>Phar::getStub()</strong>


id: Phar::decompress
type: function
doc:
<comment>Description:</comment>
  Descomprimir un archivo Phar entero
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Para archivos phar basados en tar y phar, este método descomprime el archivo entero.
  
  Para archivos phar basados en Zip, este método este método falla con el lanzamiento de una
  excepción. La extensión zlib debe estar habilitada para descomprimir un archivo comprimido con la
  compresión gzip, y la extensión bzip2 debe estar habilitada para descomprimir un archivo
  comprimido con la compresión bzip2. Al igual que con toda la funcionalidad que modifica el
  contenido de un Phar, la variable INI phar.readonly debe estar desactivada para poder realizar
  esto.
  
  Además, este método cambia automáticamente la extensión del archivo, <return>.phar</return> por omisión para
  archivos phar, o <return>.phar.tar</return> para archivos phar basados en tar. De forma alternativa, se puede
  expecificar una extensión de fichero con el segundo parámetro.

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  Para la descompresión, las extensiones de fichero predeterminadas son <return>.phar</return> y
                      <return>.phar.tar</return>. Use este parámetro para especificar otra extensión de fichero.
                      Observe que todos los archivos phar ejecutables deben contener <return>.phar</return> en su
                      nombre de fichero.

<comment>Return:</comment>
  <info>object</info>  Devuelve un objeto de la clase <class>Phar</class>.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>


id: Phar::decompressFiles
type: function
doc:
<comment>Description:</comment>
  Descomprimir todos los ficheros del archivo Phar actual
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Para archivos phar basados en tar, este método lanza una excepción de tipo <class>BadMethodCallException</class>,
  ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el
  formato de fichero. Use <strong>Phar::compress()</strong> para comprimir un archivo phar entero basado en tar.
  
  Para achivos phar basados en Zip y phar, este método descomprime todos los ficheros del archivo
  Phar. Las extensiones zlib o bzip2 deben estar habilitadas para aprovechar esta característica si
  cualquier fichero está comprimido con la compresión bzip2/zlib. Al igual que con toda la
  funcionalidad que modifica el contenido de un Phar, la variable INI phar.readonly debe estar
  desactivada para poder realizar esto.

<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>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>


id: Phar::delMetadata
type: function
doc:
<comment>Description:</comment>
  Eliminar la metainformación global del phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Elimina la metainformación global del phar

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>Phar::getMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>


id: Phar::delete
type: function
doc:
<comment>Description:</comment>
  Borrar un fichero dentro de un archivo phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Borra un fichero dentro de un archivo. Esto es el equivalente funcional de llamar a <strong>unlink()</strong> en el
  equivalente de envoltura de flujos, tal como se muestra en el ejemplo de abajo.

<comment>Param:</comment>
  <info>string</info>  <strong>$entry</strong>  La ruta dentro de un archivo para borrar el fichero.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>PharData::delete()</strong>
   * <strong>Phar::unlinkArchive()</strong>


id: Phar::extractTo
type: function
doc:
<comment>Description:</comment>
  Extraer el contenido de un archivo phar a un directorio
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Extrae todos los ficheros de un archivo phar al disco. Los ficheros y directorios extraídos
  conservan los mismos permisos que los almacenados en el archivo. Los parámetros opcionales
  permiten controlar qué ficheros serán extraídos, y si los ficheros existentes en disco podrán ser
  sobrescritos. El segundo parámetro <return>files</return> puede ser el nombre de un fichero o directorio a extraer,
  o un array de nombre de ficheros y directorios a extraer. Por omisión, este método no
  sobrescribirá los ficheros existentes, aunque el tercer parámetro se puede establecer a true para
  habilitar la sobrescritura de ficheros. Este método es similar a <strong>ZipArchive::extractTo()</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$pathto</strong>     Ruta dentro de un archivo al fichero a borrar.
  <info>string|array</info>  <strong>$files</strong>      El nombre de un fichero o directorio a extraer, o un array de
                            ficheros/directorios a extraer.
  <info>bool</info>          <strong>$overwrite</strong>  Esteblecer a <info>true</info> para habilitar la sobrescritura de ficheros existentes

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>PharData::extractTo()</strong>


id: Phar::getAlias
type: function
doc:
<comment>Description:</comment>
  Get the alias for Phar
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string|null</info>  Returns the alias or <info>null</info> if there's no alias.


id: Phar::getMetadata
type: function
doc:
<comment>Description:</comment>
  Devolver la metainformación de un archivo phar
  
  Recupera la información de un archivo. La metainformación puede ser cualquier variable de PHP que
  pueda ser serializada.

<comment>Return:</comment>
  <info>mixed</info>  Cualquier variable de PHP que pueda ser serializada y almacenada como metainformación del
         archivo Phar, o <info>null</info> si no hay metainformación almacenada.

<comment>See Also:</comment>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::delMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>


id: Phar::getModified
type: function
doc:
<comment>Description:</comment>
  Devolver si el phar fue modificado
  
  Este método se puede usar para determinar si un phar tiene un fichero interno eliminado, o el
  contenido de un fichero ha cambiado de alguna forma.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el phar ha sido modificado desde su apertura, <info>false</info> si no.


id: Phar::getPath
type: function
doc:
<comment>Description:</comment>
  Get the real path to the Phar archive on disk
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: Phar::getSignature
type: function
doc:
<comment>Description:</comment>
  Devolver la firma MD5/SHA1/SHA256/SHA512/OpenSSL de un archivo Phar
  
  Devuelve la firma de verificación de un archivo phar en una cadena hexadecimal.

<comment>Return:</comment>
  <info>array</info>  Un array con las firmas del archivo abierto en la clave <return>hash</return>, y <return>MD5</return>, <return>SHA-1</return>, <return>SHA-256</return>,
         <return>SHA-512</return>, o <return>OpenSSL</return> en la clave <return>hash_type</return>. Esta firma es un hash calculado sobre el
         contenido entero del phar, y puede ser usada para verificar la integridad del archivo. Se
         requiere absolutamente una firma válida de todos los archivos phar ejecutables si la
         variable INI phar.require_hash está establecida a true.


id: Phar::getStub
type: function
doc:
<comment>Description:</comment>
  Devolver el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  
  Los archivos Phar contienen una rutina de interoperabilidad cargadora (en inglés <return>stub</return>) escrita en
  PHP que se ejecuta cuando el archivo es ejecutado en el propio PHP mediante inclusión:  ]]> o por
  simple ejecución:

<comment>Return:</comment>
  <info>string</info>  Devuelve una cadena que contiene la rutina de interoperabilidad cargadora (stub) del
          archivo Phar actual.

<comment>See Also:</comment>
   * <strong>Phar::setStub()</strong>
   * <strong>Phar::createDefaultStub()</strong>


id: Phar::getSupportedCompression
type: function
doc:
<comment>Description:</comment>
  Devolver un array de los algoritmos de compresión soportados

<comment>Return:</comment>
  <info>array</info>  Devuelve un array que contiene <info>Phar::GZ</info> o <info>Phar::BZ2</info>, dependiendo de la disponibilidad de la
         extensión zlib o de la extensión bz2.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>


id: Phar::getSupportedSignatures
type: function
doc:
<comment>Description:</comment>
  Devolver un array con los tipos de firmas soportados
  
  Devuelve un array con los tipos de firmas soportados

<comment>Return:</comment>
  <info>array</info>  Devuelve un array que contiene cualquiera de las firmas <return>MD5</return>, <return>SHA-1</return>, <return>SHA-256</return>, <return>SHA-512</return>, o
         <return>OpenSSL</return>.

<comment>See Also:</comment>
   * <strong>Phar::getSignature()</strong>
   * <strong>Phar::setSignatureAlgorithm()</strong>


id: Phar::getVersion
type: function
doc:
<comment>Description:</comment>
  Devolver información de la versión del archivo Phar
  
  Devuelve la versión de la API de un archvo Phar abierto.

<comment>Return:</comment>
  <info>string</info>  La versión de la API del arcivo abierto. No se debe confundir con la versión de la API que
          la extensión phar cargada usará para crear nuevos phars. Cada archivo Phar tiene la
          versión de la API codificada dentro de su manifiesto. Véase la documentación del formato
          de fichero Phar para más información.

<comment>See Also:</comment>
   * <strong>Phar::apiVersion()</strong>


id: Phar::hasMetadata
type: function
doc:
<comment>Description:</comment>
  Devolver si el phar tiene metainformación global
  
  Devuelve si el phar tiene metainformación global establecida.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la metainformación ha sido establecida, y <info>false</info> si no.

<comment>See Also:</comment>
   * <strong>Phar::getMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::delMetadata()</strong>


id: Phar::interceptFileFuncs
type: function
doc:
<comment>Description:</comment>
  Ordenar a phar interceptar fopen, file_get_contents, opendir, y todas las funciones relacionadas
  con
  estadísticas
  
  Ordena a phar interceptar <strong>fopen()</strong>, <strong>readfile()</strong>, <strong>file_get_contents()</strong>, <strong>opendir()</strong>, y todas las
  funciones relacionadas con estadísticas. Si cualquiera de estas tres funciones es llamada desde
  dentro de un archivo phar con una ruta relativa, la llamada es modificada para acceder al fichero
  dentro del archivo phar. Se asume que las rutas absolutas son intentos para cargar ficheros
  externos desde el sistema de ficheros.
  
  Esta función hace posible ejecutar aplicaciones de PHP diseñadas para ejecutarse desde un disco
  duro como una aplicación phar.

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


id: Phar::isBuffering
type: function
doc:
<comment>Description:</comment>
  Determinar si las operaciones de escritura de Phar está siendo almacenadas en buffer, o están
  siendo
  volcadas directamente al disco
  
  Este método se puede usar para determinar si un Phar guardará los cambios al disco inmediatamente,
  o si se necesita una llamada <strong>Phar::stopBuffering()</strong> para habilitar el guardado de los cambios.
  
  La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar
  <return>foo.phar</return> no afecta a los cambios hechos al archivo Phar <return>bar.phar</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si las operaciones de escritura están siendo almacenadas en buffer, <info>false</info> si
        no.

<comment>See Also:</comment>
   * <strong>Phar::startBuffering()</strong>
   * <strong>Phar::stopBuffering()</strong>


id: Phar::isCompressed
type: function
doc:
<comment>Description:</comment>
  Devuelve Phar::GZ oPHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.)
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Devuelve Phar::GZ o PHAR::BZ2 si el archivo phar entero está comprimido (.tar.gz/tar.bz, etc.).
  Los archivos phar basados en Zip no pueden ser comprimidos como un fichero, y por lo tanto, este
  método devolverá siempre <info>false</info> si se requiere un archivo phar basado en zip.

<comment>Return:</comment>
  <info>mixed</info>  <info>Phar::GZ</info>, <info>Phar::BZ2</info> o <info>false</info>

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>


id: Phar::isFileFormat
type: function
doc:
<comment>Description:</comment>
  Devolver true si el archivo phar está basado en el formato de fichero tar/phar/zip dependiendo del
  parámetro

<comment>Param:</comment>
  <info>int</info>  <strong>$format</strong>  <info>Phar::PHAR</info>, <info>Phar::TAR</info>, o <info>Phar::ZIP</info> para comprobar el formato del archivo.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el archivo phar coincide con el formato de fichero solicitado por el
        parámetro

<comment>See Also:</comment>
   * <strong>Phar::convertToExecutable()</strong>
   * <strong>Phar::convertToData()</strong>


id: Phar::isValidPharFilename
type: function
doc:
<comment>Description:</comment>
  Devolver si el nombre de fichero dado es un nombre de fichero phar válido
  
  Devuelve si el nombre de fichero dado es un nombre de fichero phar válido que será reconocido como
  un archivo phar por la extensión phar. Este método se puede usar para comprobar un nombre sin
  tener que instanciar un archivo phar y capturar la inevitable excepción que será lanzada si se
  especifica un nombre no válido.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    El nombre o la ruta completa al archivo phar aún no creado
  <info>bool</info>    <strong>$executable</strong>  Este parámetro determina si el nombre de fichero debería ser tratado como un
                       archivo phar ejecutable o un archivo de datos no ejecutable

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el nombre de fichero es válido, <info>false</info> si no.


id: Phar::isWritable
type: function
doc:
<comment>Description:</comment>
  Devolver si el archivo phar se puede modificar
  
  Este método devuelve <info>true</info> si <return>phar.readonly</return> es <return>0</return>, y el archivo phar real del disco no es de sólo
  lectura.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el archivo phar puede ser modificado

<comment>See Also:</comment>
   * <strong>Phar::canWrite()</strong>
   * <strong>PharData::isWritable()</strong>


id: Phar::loadPhar
type: function
doc:
<comment>Description:</comment>
  Cargar cualquier archivo phar con un alias
  
  Este método se puede usar para leer el contenido de una archivo Phar externo. Esto es más útil
  para asignar un alias a un phar, por lo que las referencias subsiguientes al phar puedan usar el
  alias más corto, o para cargar archivos Phar que contengan solamente datos y no estén concebidos
  para la ejecución/inclusión en scripts de PHP.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  La ruta completa o relativa al archivo phar a abrir
  <info>string</info>  <strong>$alias</strong>     El alias que puede usarse para referirse al archivo phar. Observe que muchos
                     archivos phar especifican un alias explícito dentro del archivo phar, y que una
                     excepción de tipo <class>PharException</class> será lanzada si en este caso se especifica un
                     nuevo alias.

<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>Phar::mapPhar()</strong>


id: Phar::mapPhar
type: function
doc:
<comment>Description:</comment>
  Leer el fichero (un phar) que está en ejecución y registrar su manifiesto
  
  Este método estático solamente se puede usar dentro de una rutina de interoperabilidad cargadora
  de un archivo Phar para inicializar el phar cuando sea directamente ejecutado, o cuando se incluya
  en otro scrip.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>       El alias que puede usarse en las URL <return>phar://</return> para referirse a este archivo,
                       en vez de su ruta completa.
  <info>int</info>     <strong>$dataoffset</strong>  Variable sin uso, está aquí por compatibilidad con los PHP_Archive de PEAR.

<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>Phar::loadPhar()</strong>


id: Phar::mount
type: function
doc:
<comment>Description:</comment>
  Montar un fichero o ruta externos en una ubicación virtual dentro de un archivo phar
  
  Al igual que con el concepto del sistema de ficheros de Unix de montar dispositivos externos en
  rutas dentro del árbol de directorios, <strong>Phar::mount()</strong> siempre se refiere a ficheros y directorios
  externos como si estuvieran dentro de un archivo phar. Esto perimte una potente abstracción tal
  como referirse a ficheros de configuración externos como si estuvieran dentro del archivo.

<comment>Param:</comment>
  <info>string</info>  <strong>$pharpath</strong>      La ruta interna a usar dentro del archivo phar como la ubicación de la ruta
                         montada. Debe ser una ruta relativa dentro del archivo phar, y no debe
                         existir.
  <info>string</info>  <strong>$externalpath</strong>  Una ruta o un URL a un fichero o directorio externo a montar dentro del
                         archivo phar.

<comment>Return:</comment>
  <info>void</info>  No devuelve nada. Lanza una excepción de tipo <class>PharException</class> en caso de fallo.


id: Phar::mungServer
type: function
doc:
<comment>Description:</comment>
  Definir una lista de hasta 4 variables $_SERVER que debería ser modificadas para la ejecución
  
  <strong>Phar::mungServer()</strong> solamente debería ser llamado dentro de la rutina de interoperabilidad de un
  archivo phar.
  
  Define una lista de hasta 4 variables $_SERVER que deberían ser modificadas para la ejecución. Las
  variables que pueden ser modificadas para eliminar rastros de una ejecución de un phar son
  <return>REQUEST_URI</return>, <return>PHP_SELF</return>, <return>SCRIPT_NAME</return> y <return>SCRIPT_FILENAME</return>.
  
  Por sí solo, este método no hace nada. Solamente al combinarlo con <strong>Phar::webPhar()</strong> hace que tenga
  efecto, y sólo cuando el fichero solicitado es un fichero de PHP a ser procesado. Observe que las
  variables <return>PATH_INFO</return> y <return>PATH_TRANSLATED</return> son siempre modificadas.
  
  Los valores originales de las variables que son modificadas son almacenados en el array SERVER con
  el prefijo <return>PHAR_</return>, así por ejemplo <return>SCRIPT_NAME</return> sería guardado como <return>PHAR_SCRIPT_NAME</return>.

<comment>Param:</comment>
  <info>array</info>  <strong>$munglist</strong>  Un array que contiene como índices de cadenas <return>REQUEST_URI</return>, <return>PHP_SELF</return>, <return>SCRIPT_NAME</return>
                    y <return>SCRIPT_FILENAME</return>. Otros valores lanzan una excepción, y <strong>Phar::mungServer()</strong> es
                    sensible a mayúsculas-minúsculas.

<comment>Return:</comment>
  <info>void</info>  No devuelve nada.

<comment>See Also:</comment>
   * <strong>Phar::webPhar()</strong>
   * <strong>Phar::setStub()</strong>


id: Phar::offsetExists
type: function
doc:
<comment>Description:</comment>
  Determina si un fichero existe en un phar
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo Phar utilizando los corchetes de acceso al array.
  
  offsetExists() es llamado siempre que <strong>isset()</strong> sea llamada.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a buscar en un Phar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el fichero existe dentro del phar, o <info>false</info> si no.

<comment>See Also:</comment>
   * <strong>Phar::offsetGet()</strong>
   * <strong>Phar::offsetSet()</strong>
   * <strong>Phar::offsetUnset()</strong>


id: Phar::offsetGet
type: function
doc:
<comment>Description:</comment>
  Obtener un objeto de la clase PharFileInfo para un fichero específico
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo Phar utilizando los corchetes de acceso al array. Phar::offsetGet se usa
  para recuperar ficheros de un archivo Phar.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a buscar en un Phar.

<comment>Return:</comment>
  <info>int</info>  Devuelve un objeto de la clase <class>PharFileInfo</class> que puede usarse para iterar sobre el contenido
       de un fichero o para recuperar información sobre el fichero actual.

<comment>See Also:</comment>
   * <strong>Phar::offsetExists()</strong>
   * <strong>Phar::offsetSet()</strong>
   * <strong>Phar::offsetUnset()</strong>


id: Phar::offsetSet
type: function
doc:
<comment>Description:</comment>
  Establecer el contenido de un fichero interno a aquel de un fichero externo
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo Phar utilizando los corchetes de acceso al array. offsetSet se utiliza
  para modificar un fichero existente, o añadir un nuevo fichero al archivo Phar.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a modificar en un Phar.
  <info>string</info>  <strong>$value</strong>   El contenido del fichero.

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

<comment>See Also:</comment>
   * <strong>Phar::offsetExists()</strong>
   * <strong>Phar::offsetGet()</strong>
   * <strong>Phar::offsetUnset()</strong>


id: Phar::offsetUnset
type: function
doc:
<comment>Description:</comment>
  Eliminar un fichero de un phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo Phar utilizando los corchetes de acceso al array. offsetUnset se utiliza
  para borrar un fichero existente, y es llamado por el constructor de lenguaje <strong>unset()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a eliminar en un Phar.

<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>Phar::offsetExists()</strong>
   * <strong>Phar::offsetGet()</strong>
   * <strong>Phar::offsetSet()</strong>
   * <strong>Phar::unlinkArchive()</strong>
   * <strong>Phar::delete()</strong>


id: Phar::running
type: function
doc:
<comment>Description:</comment>
  Devolover la ruta completa del disco o el URL completo de phar del archivo Phar que está en
  ejecución
  
  Devuelve la ruta completa del archivo phar en ejecución. Este método tiene la intención de
  utilizarse como la constante mágica <return>__FILE__</return>, y solamente tiene efecto dentro de un archivo phar
  en ejecución.
  
  Dentro de una rutina de interoperabilidad de un archivo, <strong>Phar::running()</strong> devuelve <return>""</return>. Use
  simplemente <info>__FILE__</info> para acceder al phar que está ejecutándose acualmente dentro de una rutina de
  interoperabilidad.

<comment>Param:</comment>
  <info>bool</info>  <strong>$retphar</strong>  Si es <info>false</info>, se devuelve la ruta completa del disco del archivo phar. Si es <info>true</info>,
                  se devuelve el URL phar completo.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre de fichero si es válido, si no una cadena vacía.


id: Phar::setAlias
type: function
doc:
<comment>Description:</comment>
  Establecer el alias para un archivo Phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Establece el alias par un archivo Phar, y lo escribe como el alias permanente para este archivo
  phar. Un alias puede usarse internamente a un archivo phar para asegurarse de que el uso de la
  envoltura de flujo <return>phar</return> para acceder a ficheros internos, siempre funcione sin tener en cuenta la
  ubicación del archivo phar en el sistema de ficheros. Otra alternativa es confiar en la
  intercepción de Phar de <strong>include()</strong> o utilizar <strong>Phar::interceptFileFuncs()</strong> y usar rutas relativas.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  Una cadena abreviada para referirse a este archivo en el acceso con la envoltura
                  de flujo <return>phar</return>.

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * <strong>Phar::__construct()</strong>
   * <strong>Phar::interceptFileFuncs()</strong>


id: Phar::setDefaultStub
type: function
doc:
<comment>Description:</comment>
  Establecer el cargador o la rutina de interoperabilidad de un archivo Phar al cargador
  predeterminado
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Este método es un método cómodo que combina la funcionalidad de <strong>Phar::createDefaultStub()</strong> y
  <strong>Phar::setStub()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$index</strong>     La ruta relativa dentro del archivo phar a ejectuar si se accede desde la línea
                     de comandos
  <info>string</info>  <strong>$webindex</strong>  La ruta relativa dentro del archivo phar a ejectuar si se accede desde un
                     servidor web

<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>Phar::setStub()</strong>
   * <strong>Phar::createDefaultStub()</strong>


id: Phar::setMetadata
type: function
doc:
<comment>Description:</comment>
  Establecer la metainformación de un archivo phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  <strong>Phar::setMetadata()</strong> debería usarse para almacenar información personalizada que describa algo
  sobre el archivo phar como una entidad completa. <strong>PharFileInfo::setMetadata()</strong> debería usarse para
  metainformación específica de cada fichero. La metainformación puede ralentizar la velocidad de
  carga de un archivo phar si la información es grande.
  
  Algunos posibles usos para la metainformación incluyen especificar qué fichero dentro del archivo
  debería usarse para cargar el archivo, o la ubicación de un fichero de manifiesto como el fichero
  package.xml de PEAR. Sin embargo, se puede almacenar cualquier información útil que describa el
  archivo phar.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$metadata</strong>  Cualquier variable de PHP que contenga la información a almacenar que describa
                    el archivo phar

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

<comment>See Also:</comment>
   * <strong>Phar::getMetadata()</strong>
   * <strong>Phar::delMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>


id: Phar::setSignatureAlgorithm
type: function
doc:
<comment>Description:</comment>
  Establecer el algoritmo de firma para un phar y aplicarlo
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Establece el algoritmo de firma para un phar y lo aplica. El algoritmo de firma debe ser una de
  las constantes <info>Phar::MD5</info>, <info>Phar::SHA1</info>, <info>Phar::SHA256</info>, <info>Phar::SHA512</info>, o <info>Phar::OPENSSL</info>. (PGP aún no
  está soportado y se recurre a SHA-1).

<comment>Param:</comment>
  <info>int</info>  <strong>$sigtype</strong>  Una de las constantes <info>Phar::MD5</info>, <info>Phar::SHA1</info>, <info>Phar::SHA256</info>, <info>Phar::SHA512</info>, or
                 <info>Phar::PGP</info>

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

<comment>See Also:</comment>
   * <strong>Phar::getSupportedSignatures()</strong>
   * <strong>Phar::getSignature()</strong>


id: Phar::setStub
type: function
doc:
<comment>Description:</comment>
  Establecer el cargador de PHP o la rutina de interoperabilidad de un archivo Phar
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Este método se utiliza para añadir una rutina de interoperabilidad cargadora a un nuevo archivo
  Phar, o reemlazar la rutina de interoperabilidad de un archivo Phar existente.
  
  La rutina de interoperabilidad cargadora de un archivo Phar se utiliza siempre que un archivo esté
  incluido directamente como en este ejemplo:
  
  Al cargador no se accede cuando se incluye un archivo a través de la envoltura de flujos <return>phar</return> como
  aquí:

<comment>Param:</comment>
  <info>string</info>  <strong>$stub</strong>  Una cadena o un gestor de flujo abierto para usarlo como la rutina de
                 interoperabilidad ejecutable de este archivo phar.
  <info>int</info>     <strong>$len</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>Phar::getStub()</strong>
   * <strong>Phar::createDefaultStub()</strong>


id: Phar::startBuffering
type: function
doc:
<comment>Description:</comment>
  Iniciar las operaciones de escritura en buffer de Phar, no modifica el objeto Phar del disco
  
  Aunque es técnicamente innecesario, el método <strong>Phar::startBuffering()</strong> puede proporcionar un aumento
  significativo de rendimiento al crear o modificar un archivo Phar con un gran número de ficheros.
  Normalmente, cada vez que un fichero dentro de un archivo Phar es creado o modificado de alguna
  manera, el archivo Phar entero se re-creará con los cambios. De esta forma, el archivo estará
  actualizado con la actividad realizada sobre él.
  
  Sin embargo, esto puede ser innecesario al crear simplemente un nuevo archivo Phar, que tendría
  más sentido escribir el archivo entero de una vez. De forma similar, a menudo es necesario
  realizar una serie de cambios y asegurarse de que todos son posibles antes de hacer cualquier
  cambio en disco, similar al concepto de transacciones en bases de datos relacionales. La pareja de
  métodos <strong>Phar::startBuffering()</strong>/<strong>Phar::stopBuffering()</strong> está prevista para este propósito.
  
  La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar
  <return>foo.phar</return> no afecta a los cambios hechos al archivo Phar <return>bar.phar</return>.

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

<comment>See Also:</comment>
   * <strong>Phar::stopBuffering()</strong>
   * <strong>Phar::isBuffering()</strong>


id: Phar::stopBuffering
type: function
doc:
<comment>Description:</comment>
  Detener las peticiones de escritura en buffer del archivo Phar, y guardar los cambios en disco
  
  <strong>Phar::stopBuffering()</strong> se usa junto con el método <strong>Phar::startBuffering()</strong>. <strong>Phar::startBuffering()</strong>
  puede proporcionar un aumento significativo de rendimiento al crear o modificar un archivo Phar
  con un gran número de ficheros. Normalmente, cada vez que un fichero dentro de un archivo Phar es
  creado o modificado de alguna manera, el archivo Phar entero se re-creará con los cambios. De esta
  forma, el archivo estará actualizado con la actividad realizada sobre él.
  
  Sin embargo, esto puede ser innecesario al crear simplemente un nuevo archivo Phar, que tendría
  más sentido escribir el archivo entero de una vez. De forma similar, a menudo es necesario
  realizar una serie de cambios y asegurarse de que todos son posibles antes de hacer cualquier
  cambio en disco, similar al concepto de transacciones en bases de datos relacionales. La pareja de
  métodos <strong>Phar::startBuffering()</strong>/<strong>Phar::stopBuffering()</strong> está prevista para este propósito.
  
  La escritura en buffer de Phar es por archivo, el almacenamiento activo en buffer del archivo Phar
  <return>foo.phar</return> no afecta a los cambios hechos al archivo Phar <return>bar.phar</return>.

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

<comment>See Also:</comment>
   * <strong>Phar::startBuffering()</strong>
   * <strong>Phar::isBuffering()</strong>


id: Phar::unlinkArchive
type: function
doc:
<comment>Description:</comment>
  Elimiar completamente un archivo phar del disco y de la memoria
  
  Elimina un archivo phar del disco y de la memoria.

<comment>Param:</comment>
  <info>string</info>  <strong>$archive</strong>  La ruta en el disco al archivo phar.

<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>Phar::delete()</strong>
   * <strong>Phar::offsetUnset()</strong>


id: Phar::webPhar
type: function
doc:
<comment>Description:</comment>
  mapPhar para archivos phar basados en web. Controlador principal para aplicaciones web
  
  <strong>Phar::mapPhar()</strong> para archivos phar basados en web. Este método procesa $_SERVER['REQUEST_URI'] y
  direcciona una petición de un navegador web a un fichero interno dentro de un archivo phar. En
  esencia, simula un servidor web, direccionando las peticiones al fichero correcto, enviando las
  cabeceras correctas y procesando ficheros PHP según sea necesario. Este poderoso método es parte
  de lo que hace sencillo convertir una apliación PHP existene en un archivo phar. Combinado con
  <strong>Phar::mungServer()</strong> y <strong>Phar::interceptFileFuncs()</strong>, cualquier aplicación web se puede utilizar sin
  modificaciones desde un archivo phar.
  
  <strong>Phar::webPhar()</strong> debería llamarse solamente desde la rutina de interoperabilidad (stub) de un
  archivo phar (aquí hay más información de lo que es una rutina de interorperabilidad).

<comment>Param:</comment>
  <info>string</info>    <strong>$alias</strong>      El alias que puede usarse en las URL <return>phar://</return> para referirse a este archivo,
                        en vez de su ruta completa.
  <info>string</info>    <strong>$index</strong>      La ubicación dentro del phar del índice de directorios.
  <info>string</info>    <strong>$f404</strong>       La ubicación del script a ejecutar cuando no se encuentra el fichero. Este
                        script debería mostrar las cabeceras HTTP 404 apropiadas.
  <info>array</info>     <strong>$mimetypes</strong>  Un array que mapea extensiones de fichero adicionales a tipos de MIME. Si el
                        mapeo predeterminado es suficiente, se ha de pasar un array vacío. Por
                        omisión, estas extensiones son mapeadas a estos tipos de MIME:  Phar::PHPS,
                        // pasa a highlight_file() 'c' => 'text/plain', 'cc' => 'text/plain', 'cpp'
                        => 'text/plain', 'c++' => 'text/plain', 'dtd' => 'text/plain', 'h' =>
                        'text/plain', 'log' => 'text/plain', 'rng' => 'text/plain', 'txt' =>
                        'text/plain', 'xsd' => 'text/plain', 'php' => Phar::PHP, // procesado como
                        PHP 'inc' => Phar::PHP, // procesado como PHP 'avi' => 'video/avi', 'bmp' =>
                        'image/bmp', 'css' => 'text/css', 'gif' => 'image/gif', 'htm' =>
                        'text/html', 'html' => 'text/html', 'htmls' => 'text/html', 'ico' =>
                        'image/x-ico', 'jpe' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpeg' =>
                        'image/jpeg', 'js' => 'application/x-javascript', 'midi' => 'audio/midi',
                        'mid' => 'audio/midi', 'mod' => 'audio/mod', 'mov' => 'movie/quicktime',
                        'mp3' => 'audio/mp3', 'mpg' => 'video/mpeg', 'mpeg' => 'video/mpeg', 'pdf'
                        => 'application/pdf', 'png' => 'image/png', 'swf' =>
                        'application/shockwave-flash', 'tif' => 'image/tiff', 'tiff' =>
                        'image/tiff', 'wav' => 'audio/wav', 'xbm' => 'image/xbm', 'xml' =>
                        'text/xml',
                        );
                        ?> ]]>
  <info>callable</info>  <strong>$rewrites</strong>   A la función rewrites se le proporciona un string como único parámetro y
                        debe devolver un <info>string</info> o <info>false</info>.
                        
                        Si se está utilizando fast-cgi o cgi, el parámetro pasado a la función es el
                        valor de la variable $_SERVER['PATH_INFO']. De otro modo, el parámetro
                        pasado a la función es el valor de la variable $_SERVER['REQUEST_URI'].
                        
                        Si se devuelve un string, este se usa como la ruta de fichero interno. Si se
                        devuelve <info>false</info>, webPhar() enviará un código de rechazo HTTP 403.

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

<comment>See Also:</comment>
   * <strong>Phar::mungServer()</strong>
   * <strong>Phar::interceptFileFuncs()</strong>


id: PharData
type: class
doc:
<comment>Description:</comment>
  La clase PharData proporciona una interfaz de alto nivel para el acceso y la creación de archivos
  tar y zip no ejecutables. Debido a que estos archivos no contienen una rutina de interoperabilidad
  y no pueden ser ejecutados por la extensión phar,  es posible crear y manipular ficheros zip y tar
  normales con la clase PharData incluso si la opción del php.ini <return>phar.readonly</return> está establecida a
  <return>1</return>.


id: PharData::__construct
type: function
doc:
<comment>Description:</comment>
  Construir un objeto de archivo tar o zip no ejecutable

<comment>Param:</comment>
  <info>string</info>  <strong>$fname</strong>   Ruta a un archivo tar/zip existente o para ser creado
  <info>int</info>     <strong>$flags</strong>   Banderas a pasar a la clase padre <class>RecursiveDirectoryIterator</class>.
  <info>string</info>  <strong>$alias</strong>   Alias con el que referirse al archivo Phar en las llamadas a funcionalidades de
                   flujos.
  <info>int</info>     <strong>$format</strong>  Una de las constantes de formato de fichero disponiblies dentro de la clase <class>Phar</class>.


id: PharData::addEmptyDir
type: function
doc:
<comment>Description:</comment>
  Añadir un directorio vacío al archivo tar/zip
  
  Con este método se crea un directorio vacío con la ruta dada por <return>dirname</return>. Este método es similar a
  <strong>ZipArchive::addEmptyDir()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$dirname</strong>  El nombre de directorio vacío a crear en el archivo tar o zip

<comment>Return:</comment>
  <info>bool</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>Phar::addEmptyDir()</strong>
   * <strong>PharData::addFile()</strong>
   * <strong>PharData::addFromString()</strong>


id: PharData::addFile
type: function
doc:
<comment>Description:</comment>
  Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  
  Con este método, cualquier fichero o URL se puede añadir al arcivo tar/zip. Si se especifica el
  segundo parámetro opcional <return>localname</return>, el fichero será almacenado en el archivo con el nombre dado
  por el parámetro, si no se usará el parámetro <return>file</return> como la ruta para almacentar dentro del
  archivo. Las URLs deben tener un nombre local o se lanzará una excepción. Este método es similar a
  <strong>ZipArchive::addFile()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$file</strong>       La ruta completa o relativa del fichero del disco a ser añadido al archivo
                      phar.
  <info>string</info>  <strong>$localname</strong>  Ruta con la que el fichero será almacenado en el archivo.

<comment>Return:</comment>
  <info>void</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>PharData::offsetSet()</strong>
   * <strong>Phar::addFile()</strong>
   * <strong>PharData::addFromString()</strong>
   * <strong>PharData::addEmptyDir()</strong>


id: PharData::addFromString
type: function
doc:
<comment>Description:</comment>
  Añadir un fichero desde el sistema de ficheros al archivo tar/zip
  
  Con este método, cuanquierl cadena se puede añadir al archivo tar/zip. El fichero será almacenado
  en el archivo con <return>localname</return> como su ruta. Este método es similar a <strong>ZipArchive::addFromString()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$localname</strong>  Ruta con la que el fichero será almacenado en el archivo.
  <info>string</info>  <strong>$contents</strong>   El contenido del fichero a almacenar

<comment>Return:</comment>
  <info>bool</info>  No devuelve ningún valor, se lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>PharData::offsetSet()</strong>
   * <strong>Phar::addFromString()</strong>
   * <strong>PharData::addFile()</strong>
   * <strong>PharData::addEmptyDir()</strong>


id: PharData::buildFromDirectory
type: function
doc:
<comment>Description:</comment>
  Construir un archivo tar/zip desde los ficheros de un directorio
  
  Rellena un archivo phar con el contenido de un directorio. El segundo parámtro opcional es una
  expresión regular (pcre) que se utiliza para excluir ficheros. Cualquier nombre de fichero que
  coincida con la expresión regular será incluido, todos los demás serán excluidos. Para un control
  más exhaustivo, use <strong>PharData::buildFromIterator()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$base_dir</strong>  La ruta completa o relativa al directorio que contiene todos los ficheros a
                     añadir al archivo.
  <info>string</info>  <strong>$regex</strong>     Una expresión regular de pcre opcional que se usa para filtrar la lista de
                     ficheros. Solamente las rutas de fichero que coincidan con la expresión regular
                     serán incluidas en el archivo.

<comment>Return:</comment>
  <info>array</info>  <strong>Phar::buildFromDirectory()</strong> devuelve un array asociativo que que mapea la ruta interna del
         fichero a la ruta completa del mismo en el sistema de ficheros.

<comment>See Also:</comment>
   * <strong>Phar::buildFromDirectory()</strong>
   * <strong>PharData::buildFromIterator()</strong>


id: PharData::buildFromIterator
type: function
doc:
<comment>Description:</comment>
  Construir un archivo tar o zip desde un iterador
  
  Rellena un archivo tar o zip desde un iterador. Están soportados dos estilos de iteradores, los
  iteradores que mapean el nombre de fichero dentro del tar/zip al nombre del fichero en disco, y
  los iteradores como DirectoryIterator que devuelven objetos de la clase SplFileInfo. Se requiere
  el segundo parámetro para los iteradores que devuelven objetos de la clase SplFileInfo.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iter</strong>            Cualquier iterador que mapee de forma asociativa el fichero tar/zip a
                             la ubiciación o que devuelva objetos de la clase SplFileInfo
  <info>string</info>    <strong>$base_directory</strong>  Para los iteradores que devuelven objetos de la clase SplFileInfo, es
                             la porción de cada ruta completa de fichero a eliminar cuando de añada
                             al archivo tar/zip

<comment>Return:</comment>
  <info>array</info>  <strong>PharData::buildFromIterator()</strong> devuelve un array asociativo que que mapea la ruta interna
         del fichero a la ruta completa del mismo en el sistema de ficheros.

<comment>See Also:</comment>
   * <strong>Phar::buildFromIterator()</strong>


id: PharData::compress
type: function
doc:
<comment>Description:</comment>
  Comprimir el archivo tar/zip entero usando la compresión Gzip o Bzip2
  
  Para archivos tar, este método comprime el archivo entero usando la compresión gzip o bzip2. El
  fichero resultante puede ser procesado con el comando gunzip/bunzip, o se puede acceder a él
  directa y transparentemente con la extensión Phar.
  
  Para archivos phar basados en Zip, este método falla con el lanzamiento de una excepción. La
  extensión zlib debe estar habilitada para poder comprimir con la compresión gzip, y la extensión
  bzip2 debe estar habilitada para poder comprimir con la compresión bzip2.
  
  Además, este método renombra automáticamente el archivo, añadiéndole <return>.gz</return>, <return>.bz2</return> o eliminado la
  extensión si se pasa <info>Phar::NONE</info> para eliminar la compresión. De forma alternativa, se puede
  expecificar una extensión de fichero con el segundo parámetro.

<comment>Param:</comment>
  <info>int</info>     <strong>$compression</strong>  La compresión debe ser <info>Phar::GZ</info> o <info>Phar::BZ2</info> para añadir compresión, o
                        <info>Phar::NONE</info> para eliminarla.
  <info>string</info>  <strong>$extension</strong>    Por omisión, la extensión es <return>.tar.gz</return> o <return>.tar.bz2</return> para comprimir un tar, y
                        <return>.tar</return> para descomprimirlo.

<comment>Return:</comment>
  <info>object</info>  Devuelve un objeto de la clase <class>PharData</class>.

<comment>See Also:</comment>
   * <strong>Phar::compress()</strong>


id: PharData::compressFiles
type: function
doc:
<comment>Description:</comment>
  Comprime todos los ficheros del archivo tar/zip actual
  
  Para archivos phar basados en tar, este método lanza una excepción de tipo <class>BadMethodCallException</class>,
  ya que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el
  formato de fichero. Use <strong>Phar::compress()</strong> para comprimir un archivo phar entero basado en tar.
  
  Para achivos basados en Zip, este método comprime todos los ficheros del archivo usando la
  compresión especificada. Las extensiones zlib o bzip2 deben estar habilitadas para aprovechar esta
  característica. Además, si cualquier fichero ya está comprimido con la compresión bzip2/zlib, la
  extensión respectiva debe estar habilitada para poder descomprimir los ficheros antes de
  re-comprimirlos.

<comment>Param:</comment>
  <info>int</info>  <strong>$compression</strong>  La compresión debe ser <info>Phar::GZ</info> o <info>Phar::BZ2</info> para añadir compresión, o
                     <info>Phar::NONE</info> para eliminarla.

<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>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>PharData::decompressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>PharData::decompress()</strong>


id: PharData::convertToData
type: function
doc:
<comment>Description:</comment>
  Convertir un archivo phar en un fichero tar o zip no ejecutable
  
  Este método se usa para convertir un archivo tar o zip no ejecutable a otro formato no ejecutable.
  
  Si no se especifica ningún cambio, este método lanza una excepción de tipo <class>BadMethodCallException</class>
  Este método debería usarse para convertir un archivo tar a formato zip o viceversa. Aunque es
  posible cambiar la compresión de un archivo tar simplemente usando este método, es mejor utilizad
  el método <strong>PharData::compress()</strong> para una consistencia lógica.
  
  En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase
  <class>PharData</class>. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que
  el proceso haya finalizado.

<comment>Param:</comment>
  <info>int</info>     <strong>$format</strong>       Este parámetro debería ser <info>Phar::TAR</info> o <info>Phar::ZIP</info>. Si se establece a <info>null</info>, se
                        conservará el formato de fichero existente.
  <info>int</info>     <strong>$compression</strong>  Este parámetro debería ser <info>Phar::NONE</info> para no comprimir el archivo completo,
                        <info>Phar::GZ</info> para la compresión basada en zlib, y <info>Phar::BZ2</info> para la compresión
                        basada en bzip.
  <info>string</info>  <strong>$extension</strong>    Este parámetro se utiliza para sobrescribir la extensión de fichero
                        predeterminada de un archivo convertido. Observe que <return>.phar</return> no puede ser
                        usado en ningún lugar del nombre de fichero de un archivo tar o zip no
                        ejecutable.
                        
                        Si se convierte a un archivo basado en tar, las extensiones predeterminadas
                        son <return>.tar</return>, <return>.tar.gz</return>, y <return>.tar.bz2</return> dependiendo de la compresión especificada.
                        Para archivos basados en zip, la extensión predetermianda es <return>.zip</return>.

<comment>Return:</comment>
  <info>PharData</info>  El método devuelve un objeto <class>PharData</class> en caso de éxito, y lanza una excepción en caso de
            error.

<comment>See Also:</comment>
   * <strong>Phar::convertToExecutable()</strong>
   * <strong>Phar::convertToData()</strong>
   * <strong>PharData::convertToExecutable()</strong>


id: PharData::convertToExecutable
type: function
doc:
<comment>Description:</comment>
  Convertir un archivo tar/zip no ejecutable en un archivo phar ejecutable
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Este método se utiliza para convertir un arhivo tar o zip no ejecutable en un archivo phar
  ejecutable. Se puede usar cualquiera de los tres formatos de fichero (phar, tar o zip), y también
  se puede realizar la compresión del archivo completo.
  
  Si no se especifica ningún cambio, este método lanza una excepción de tipo <class>BadMethodCallException</class>
  
  En caso de éxito, el metodo crea un nuevo archivo en disco y devuelve un objeto de la clase
  <class>PharData</class>. El archivo antiguo no se elimina del disco, y debería hacerse manualmente después de que
  el proceso haya finalizado.
   If successful, the method creates a new archive on disk and returns a <class>Phar</class> object.  The old
  archive is not removed from disk, and should be done manually after the process has finished.

<comment>Param:</comment>
  <info>int</info>     <strong>$format</strong>       Este parámetro debería ser <info>Phar::PHAR</info>, <info>Phar::TAR</info>, o <info>Phar::ZIP</info>. Si se
                        establece a <info>null</info>, se conservará el formato de fichero existente.
  <info>int</info>     <strong>$compression</strong>  Este parámetro debería ser <info>Phar::NONE</info> para no comprimir el archivo completo,
                        <info>Phar::GZ</info> para la compresión basada en zlib, y <info>Phar::BZ2</info> para la compresión
                        basada en bzip.
  <info>string</info>  <strong>$extension</strong>    Este parámetro se utiliza para sobrescribir la extensión de fichero
                        predeterminada de un archivo convertido. Observe que todos los archivos phar
                        basados en zip o en tar deben contener <return>.phar</return> en su extensión de fichero para
                        poder ser procesados como un archivo phar.
                        
                        Si se convierte a un archivo basado en phar, las extensiones predeterminadas
                        son <return>.phar</return>, <return>.phar.gz</return>, o <return>.phar.bz2</return> dependiendo de la compresión especificada.
                        Para archivos phar basados en tar, las extensiones predeterminadas son
                        <return>.phar.tar</return>, <return>.phar.tar.gz</return>, y <return>.phar.tar.bz2</return>. Para archivos phar basados en zip,
                        la estensión predeterminada es <return>.phar.zip</return>.

<comment>Return:</comment>
  <info>Phar</info>  El método devuelve un objeto <class>Phar</class> en caso de éxito, y lanza una excepción en caso de error.

<comment>See Also:</comment>
   * <strong>Phar::convertToExecutable()</strong>
   * <strong>Phar::convertToData()</strong>
   * <strong>PharData::convertToData()</strong>


id: PharData::copy
type: function
doc:
<comment>Description:</comment>
  Copiar un fichero interno de un archivo phar a otro fichero nuevo dentro del phar
  
  Copia un fichero interno de un archivo tar/zip a otro fichero nuevo dentro del mismo archivo. Esta
  es una alternativa orientada a objetos para usar <strong>copy()</strong> con la envoltura de flujos phar.

<comment>Param:</comment>
  <info>string</info>  <strong>$oldfile</strong>  
  <info>string</info>  <strong>$newfile</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es más seguro encerrar la llamada al método en un
        bloque try/catch y asumir el éxito si no se lanza ninguna excepción.


id: PharData::decompress
type: function
doc:
<comment>Description:</comment>
  Descomprimir un archivo Phar entero
  
  Para archivos phar basados en tar, este método descomprime el archivo entero.
  
  Para archivos phar basados en Zip, este método este método falla con el lanzamiento de una
  excepción. La extensión zlib debe estar habilitada para descomprimir un archivo comprimido con la
  compresión gzip, y la extensión bzip2 debe estar habilitada para descomprimir un archivo
  comprimido con la compresión bzip2.
  
  Además, este método renombra automáticamente la extensión de fichero del archivo, <return>.tar</return> por
  omisión. De forma alternativa, se puede expecificar una extensión de fichero con el segundo
  parámetro.

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  Para la descompresión, las extensión de fichero predeterminada es <return>.phar.tar</return>.
                      Use este parámetro para especificar otra extensión de fichero. Observe que
                      todos los archivos no ejecutables no pueden contener <return>.phar</return> en su nombre de
                      fichero.

<comment>Return:</comment>
  <info>object</info>  Devuelve un objeto de la clase <class>PharData</class>.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>PharData::compressFiles()</strong>
   * <strong>PharData::decompressFiles()</strong>


id: PharData::decompressFiles
type: function
doc:
<comment>Description:</comment>
  Descomprimir todos los ficheros del archivo zip actual
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Para archivos basados en tar, este método lanza una excepción de tipo <class>BadMethodCallException</class>, ya
  que la compresión de ficheros individuales dentro de un archivo tar no está soportada por el
  formato de fichero. Use <strong>Phar::compress()</strong> para comprimir un archivo phar entero basado en tar.
  
  Para achivos phar basados en Zip y phar, este método descomprime todos los ficheros del archivo.
  Las extensiones zlib o bzip2 deben estar habilitadas para aprvechar esta característica si
  cualquier fichero está comprimido con la compresión bzip2/zlib.

<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>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>PharData::compressFiles()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>PharData::compress()</strong>
   * <strong>PharData::decompress()</strong>


id: PharData::delMetadata
type: function
doc:
<comment>Description:</comment>
  Eliminar la metainformación global de un archivo zip
  
  Este
  método requiere que la opción de php.ini <return>phar.readonly</return> esté establecida
  a <return>0</return> para que trabaje con objetos <class>Phar</class>.
  De otra manera, se lanzará una excepción de tipo <class>PharException</class>.
  
  Elimina la metainformación global de un archivo zip

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>Phar::delMetadata()</strong>


id: PharData::delete
type: function
doc:
<comment>Description:</comment>
  Borrar un fichero dentro de un archivo tar/zip
  
  Borra un fichero dentro de un archivo. Esto es el equivalente funcional de llamar a <strong>unlink()</strong> en el
  equivalente de envoltura de flujos, tal como se muestra en el ejemplo de abajo.

<comment>Param:</comment>
  <info>string</info>  <strong>$entry</strong>  La ruta dentro de un archivo para borrar el fichero.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>Phar::delete()</strong>


id: PharData::extractTo
type: function
doc:
<comment>Description:</comment>
  Extraer el contenido de un archivo tar/zip a un directorio
  
  Extrae todos los ficheros de un archivo tar/zip al disco. Los ficheros y directorios extraídos
  conservan los mismos permisos que los almacenados en el archivo. Los parámetros opcionales
  permiten controlar qué ficheros serán extraídos, y si los ficheros existentes en disco podrán ser
  sobrescritos. El segundo parámetro <return>files</return> puede ser el nombre de un fichero o directorio a extraer,
  o un array de nombre de ficheros y directorios a extraer. Por omisión, este método no
  sobrescribirá los ficheros existentes, aunque el tercer parámetro se puede establecer a true para
  habilitar la sobrescritura de ficheros. Este método es similar a <strong>ZipArchive::extractTo()</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$pathto</strong>     Ruta donde extraer los ficheros dados por <return>files</return>
  <info>string|array</info>  <strong>$files</strong>      El nombre de un fichero o directorio a extraer, o un array de
                            ficheros/directorios a extraer.
  <info>bool</info>          <strong>$overwrite</strong>  Esteblecer a <info>true</info> para habilitar la sobrescritura de ficheros existentes

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, pero es mejor comprobar si lanza alguna excepción, y asumir
        el éxito si no se lanza ninguna.

<comment>See Also:</comment>
   * <strong>Phar::extractTo()</strong>


id: PharData::isWritable
type: function
doc:
<comment>Description:</comment>
  Devolver si el archivo tar/zip se puede modificar
  
  Este método devuelve <info>true</info> si el archivo tar/zip archive del disco no es de sólo lectura. A
  diferencia de <strong>Phar::isWritable()</strong>, los archivos tar/zip de sólo datos se pueden modificar incluso
  si <return>phar.readonly</return> está establecido a <return>1</return>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el archivo tar/zip puede ser modificado

<comment>See Also:</comment>
   * <strong>Phar::canWrite()</strong>
   * <strong>Phar::isWritable()</strong>


id: PharData::offsetSet
type: function
doc:
<comment>Description:</comment>
  Establecer el contenido de un fichero dentro de un tar/zip a aquel de un fichero o cadena externos
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo tar/zip utilizando los corchetes de acceso al array. offsetSet se utiliza
  para modificar un fichero existente, o añadir un nuevo fichero al archivo tar/zip.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a modificar en un archivo tar o zip.
  <info>string</info>  <strong>$value</strong>   El contenido del fichero.

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

<comment>See Also:</comment>
   * <strong>Phar::offsetSet()</strong>


id: PharData::offsetUnset
type: function
doc:
<comment>Description:</comment>
  Eliminar un ficerho de un archivo tar/zip
  
  Ésta es una implementación de la interfaz ArrayAccess que permite la manipulación directa del
  contenido de un archivo tar/zip utilizando los corchetes de acceso al array. offsetUnset se
  utiliza para borrar un fichero existente, y es llamado por el constructor de lenguaje <strong>unset()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$offset</strong>  El nombre del fichero (ruta relativa) a eliminar en un archivo tar o zip.

<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>Phar::offsetUnset()</strong>


id: PharData::setAlias
type: function
doc:
<comment>Description:</comment>
  función sin sentido (Phar::setAlias no es válido para PharData)
  
  Los archivos tar/zip no ejecutables no pueden tener un alias, por lo que este método simplemente
  lanza una excepción.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  Una cadena abreviada para referirse a este archivo en el acceso con la envoltura
                  de flujo <return>phar</return>. Este parámetro es ignorado.

<comment>Return:</comment>
  <info>bool</info>  

<comment>See Also:</comment>
   * <strong>Phar::setAlias()</strong>


id: PharData::setDefaultStub
type: function
doc:
<comment>Description:</comment>
  función sin sentido (Phar::setStub no es válido para PharData)
  
  Los archivos tar/zip no ejecutables no pueden tener una rutina de interoperabilidad, por lo que
  este método simplemente lanza una excepción.

<comment>Param:</comment>
  <info>string</info>  <strong>$index</strong>     La ruta relativa dentro del archivo phar a ejectuar si se accede desde la línea
                     de comandos
  <info>string</info>  <strong>$webindex</strong>  La ruta relativa dentro del archivo phar a ejectuar si se accede desde un
                     servidor web

<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>Phar::setDefaultStub()</strong>


id: PharData::setStub
type: function
doc:
<comment>Description:</comment>
  función sin sentido (Phar::setStub no es válido para PharData)
  
  Los archivos tar/zip no ejecutables no pueden tener una rutina de interoperabilidad, por lo que
  este método simplemente lanza una excepción.

<comment>Param:</comment>
  <info>string</info>  <strong>$stub</strong>  Una cadena o un gestor de flujo abierto para usarlo como la rutina de
                 interoperabilidad ejecutable de este archivo phar. Este parámetro es ignorado.
  <info>int</info>     <strong>$len</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>Phar::setStub()</strong>


id: PharException
type: function
doc:
<comment>Description:</comment>
  La clase PharException ofrece una excepción de clase específica de phar
      para bloques try/catch


id: PharFileInfo
type: class
doc:
<comment>Description:</comment>
  La clase PharFileInfo proporciona una interfaz de alto nivel para el contenido y los atributos de
  un único fichero dentro de un archivo phar.


id: PharFileInfo::__construct
type: function
doc:
<comment>Description:</comment>
  Construir un objeto de entrada Phar
  
  Este método no debería llamarse directamente. En su lugar, un objeto de la clase PharFileInfo se
  inicializa al llamar a <strong>Phar::offsetGet()</strong> a traves del acceso a un array.

<comment>Param:</comment>
  <info>string</info>  <strong>$entry</strong>  La URL completa para recuperar un fichero. Si se desea recuperar la informacion
                  del fichoer <return>mi/fichero.php</return> desde el phar <return>boo.phar</return>, la entrada debería ser
                  <return>phar://boo.phar/mi/fichero.php</return>.


id: PharFileInfo::chmod
type: function
doc:
<comment>Description:</comment>
  Esteblecer los bits de permiso específicos del fichero
  
  <strong>PharFileInfo::chmod()</strong> permite el ajuste del bit de permiso ejecutable de un fichero, así como el
  bit de sólo lectura. El bit de escritura se ignora, y se establece en tiempo de ejecución
  basándose en la variable INI phar.readonly. Al igual que con toda la funcionalidad que modifica el
  contenido de un Phar, la variable INI phar.readonly debe estar desactivada para poder realizar
  esto si el fichero está dentro de un archivo <class>Phar</class>. Los ficheros dentro de archivos <class>PharData</class> no
  tienen esta restricción.

<comment>Param:</comment>
  <info>int</info>  <strong>$permissions</strong>  Los permisos (véase <strong>chmod()</strong>)

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


id: PharFileInfo::compress
type: function
doc:
<comment>Description:</comment>
  Comprimir la entrada del Phar actual con la compresión zlib o bzip2
  
  Este método comprime el fichero dentro de un archivo Phar usando la compresión bzip2 o zlib. Las
  extensiones bzip2 o zlib deben estar habilitadas para aprovechar esta característica. Además, si
  el fichero ya está comprimido, la extensión respectiva debe estar habilitada para poder
  descomprimir el fichero. Al igual que con toda la funcionalidad que modifica el contenido de un
  Phar, la variable INI phar.readonly debe estar desactivada para poder realizar esto si el fichero
  está dentro de un archivo <class>Phar</class>. Los ficheros dentro de archivos <class>PharData</class> no tienen esta
  restricció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>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>


id: PharFileInfo::decompress
type: function
doc:
<comment>Description:</comment>
  Descomprimir la entrada Phar actual dentro del phar
  
  Este método descompribe el fichero dentro de un archivo Phar. Dependiendo de cómo esté comprimido
  el fichero, las extensiones bzip2 o zlib deben estar habilitadas para aprovechar esta
  característica. Al igual que con toda la funcionalidad que modifica el contenido de un Phar, la
  variable INI phar.readonly debe estar desactivada para poder realizar esto si el fichero está
  dentro de un archivo <class>Phar</class>. Los ficheros dentro de archivos <class>PharData</class> no tienen esta restricció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>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compressFiles()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>


id: PharFileInfo::delMetadata
type: function
doc:
<comment>Description:</comment>
  Eliminar la metainformación de una entrada
  
  Eliminar la metainformación de una entrada, si existe.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> en caso de éxito, <info>false</info> si la entrada no tiene metainformación. Al igual que
        con toda la funcionalidad que modifica el contenido de un Phar, la variable INI
        phar.readonly debe estar desactivada para poder realizar esto si el fichero está dentro de
        un archivo <class>Phar</class>. Los ficheros dentro de archivos <class>PharData</class> no tienen esta restricción.

<comment>See Also:</comment>
   * <strong>PharFileInfo::setMetadata()</strong>
   * <strong>PharFileInfo::hasMetadata()</strong>
   * <strong>PharFileInfo::getMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>
   * <strong>Phar::getMetadata()</strong>


id: PharFileInfo::getCRC32
type: function
doc:
<comment>Description:</comment>
  Devolver el códido CRC32 o lanzar una exepción si la CRC no ha sido verificado
  
  Este método devuelve la suma de verificación <strong>crc32()</strong> del fichero dentro de un archivo Phar.

<comment>Return:</comment>
  <info>int</info>  La suma de verificaicón <strong>crc32()</strong> de un fichero dentro de un archivo Phar.


id: PharFileInfo::getCompressedSize
type: function
doc:
<comment>Description:</comment>
  Devolver el tamaño real de un fichero (con compresión) dentro de un archivo Phar
  
  Devuelve el tamaño del fichero dentro del archivo Phar. Los ficheros no comprimidos devolverán el
  mismo valor que si se utilizara <strong>filesize()</strong> en vez de <strong>filesize()</strong>

<comment>Return:</comment>
  <info>int</info>  El tamaño en bytes del fichero dentro del archivo Phar en disco.

<comment>See Also:</comment>
   * <strong>PharFileInfo::isCompressed()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::compressFiles()</strong>


id: PharFileInfo::getContent
type: function
doc:
<comment>Description:</comment>
  Get the complete file contents of the entry
  
  This function behaves like <strong>file_get_contents()</strong> but for Phar.

<comment>Return:</comment>
  <info>string</info>  Returns the file contents.


id: PharFileInfo::getMetadata
type: function
doc:
<comment>Description:</comment>
  Devolver la metainformación específica de un fichero almacenada con un fichero
  
  Devuelve la metainformación que fue almacenada en el manifiesto del archivo Phar para este
  fichero.

<comment>Return:</comment>
  <info>mixed</info>  Cualquier variable de PHP que pueda ser serializada y almacenada como metainformación del
         fichero, o <info>null</info> si no hay metainformación almacenada.

<comment>See Also:</comment>
   * <strong>PharFileInfo::setMetadata()</strong>
   * <strong>PharFileInfo::hasMetadata()</strong>
   * <strong>PharFileInfo::delMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>
   * <strong>Phar::getMetadata()</strong>


id: PharFileInfo::getPharFlags
type: function
doc:
<comment>Description:</comment>
  Devolver las banderas de una entrada de fichero
  
  Este método devuelve las banderas establecidas en el manifiesto de un Phar. Siempre devolverá <return>0</return> en
  la implementacion actual.

<comment>Return:</comment>
  <info>int</info>  Las banderas del Phar (siempre <return>0</return> en la implementacion actual)


id: PharFileInfo::hasMetadata
type: function
doc:
<comment>Description:</comment>
  Devolver la metainformación de una entrada
  
  Devuelve la metainformación de una fichero dentro de un archivo phar.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>false</info> si no está establecida la metainformación o es <info>null</info>, <info>true</info> si la
        metainformación no es <info>null</info>

<comment>See Also:</comment>
   * <strong>PharFileInfo::setMetadata()</strong>
   * <strong>PharFileInfo::getMetadata()</strong>
   * <strong>PharFileInfo::delMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>
   * <strong>Phar::getMetadata()</strong>


id: PharFileInfo::isCRCChecked
type: function
doc:
<comment>Description:</comment>
  Devolver si la entrada de fichero tiene su CRC verificada
  
  Este método devuelve si un fichero dentro de un archivo Phar tiene su CRC verificada.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el fichero tiene su CRC verificada, <info>false</info> si no.


id: PharFileInfo::isCompressed
type: function
doc:
<comment>Description:</comment>
  Devolver si la entrada está comprimida
  
  Este método devuelve si un fichero está comprimido dentro de un archivo Phar con la compresión
  Gzip o Bzip2.

<comment>Param:</comment>
  <info>int</info>  <strong>$compression_type</strong>  Una de las constantes <info>Phar::GZ</info> o <info>Phar::BZ2</info>, por defecto es cualquier
                          compresión.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el fichero está comprimido dentro del archivo Phar, <info>false</info> si no.

<comment>See Also:</comment>
   * <strong>PharFileInfo::getCompressedSize()</strong>
   * <strong>PharFileInfo::decompress()</strong>
   * <strong>PharFileInfo::compress()</strong>
   * <strong>Phar::decompress()</strong>
   * <strong>Phar::compress()</strong>
   * <strong>Phar::canCompress()</strong>
   * <strong>Phar::isCompressed()</strong>
   * <strong>Phar::getSupportedCompression()</strong>
   * <strong>Phar::decompressFiles()</strong>
   * <strong>Phar::compressFiles()</strong>


id: PharFileInfo::setMetadata
type: function
doc:
<comment>Description:</comment>
  Establecer la metainformación específica de un fichero almacenda con un fichero
  
  <strong>PharFileInfo::setMetadata()</strong> solamente debería usarse para almacenar información personalizada en
  un fichero que con pueda ser representado con la información almacenada existente con un fichero.
  La metainformación puede ralentizar significativamente la velocidad de carga de un archivo phar si
  la información es grande, o si existen muchos ficheros que contienen metainformación. Es
  importante observar que esos permisos de fichero están soportados nativamente dentro de un phar;
  es posible establecerlo con el método <strong>PharFileInfo::chmod()</strong>. Al igual que con toda la
  funcionalidad que modifica el contenido de un Phar, la variable INI phar.readonly debe estar
  desactivada para poder realizar esto si el fichero está dentro de un archivo <class>Phar</class>. Los ficheros
  dentro de archivos <class>PharData</class> no tienen esta restricción.
  
  Algunos posibles usos para la metainformación incluten pasar un usuario/grupo que debería
  establecerse al extraer el fichero desde el phar al disco. Otros usos podrían incluir
  explicitamente especificar un tipo MIME a devolver. Sin embargo, cualquier información útil que
  describa un fichero, excepto la que no debería estar contenida dentro del mismo, puede ser
  almacenada.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$metadata</strong>  Cualquier variable de PHP que contenga información a almacenar junto a un
                    fichero

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

<comment>See Also:</comment>
   * <strong>PharFileInfo::hasMetadata()</strong>
   * <strong>PharFileInfo::getMetadata()</strong>
   * <strong>PharFileInfo::delMetadata()</strong>
   * <strong>Phar::setMetadata()</strong>
   * <strong>Phar::hasMetadata()</strong>
   * <strong>Phar::getMetadata()</strong>


id: Pool
type: class
doc:
<comment>Description:</comment>
  Un objeto Pool es un contenedor para, y un controlador de, un número ajustable de Workers.
  
  El aprovisionamiento (pooling) proporciona una abstracción de más alto nivel de la funcionalidad
  de un Worker, incluyendo la administración de referencias en la forma requerida por pthreads.


id: Pool::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new Pool of Workers
  
  Construct a new pool of workers. Pools lazily create their threads, which means new threads will
  only be spawned when they are required to execute tasks.

<comment>Param:</comment>
  <info>int</info>     <strong>$size</strong>   The maximum number of workers for this pool to create
  <info>string</info>  <strong>$class</strong>  The class for new Workers. If no class is given, then it defaults to the <class>Worker</class>
                  class.
  <info>array</info>   <strong>$ctor</strong>   An array of arguments to be passed to new workers' constructors


id: Pool::collect
type: function
doc:
<comment>Description:</comment>
  Collect references to completed tasks
  
  Allows the pool to collect references determined to be garbage by the optionally given collector.

<comment>Param:</comment>
  <info>Callable</info>  <strong>$collector</strong>  A Callable collector that returns a boolean on whether the task can be
                        collected or not. Only in rare cases should a custom collector need to be
                        used.

<comment>Return:</comment>
  <info>int</info>  The number of remaining tasks in the pool to be collected.


id: Pool::resize
type: function
doc:
<comment>Description:</comment>
  Resize the Pool
  
  Resize the Pool

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>  The maximum number of Workers this Pool can create

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


id: Pool::shutdown
type: function
doc:
<comment>Description:</comment>
  Shutdown all workers
  
  Shuts down all of the workers in the pool. This will block until all submitted tasks have been
  executed.

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


id: Pool::submit
type: function
doc:
<comment>Description:</comment>
  Submits an object for execution
  
  Submit the task to the next Worker in the Pool

<comment>Param:</comment>
  <info>Threaded</info>  <strong>$task</strong>  The task for execution

<comment>Return:</comment>
  <info>int</info>  the identifier of the Worker executing the object


id: Pool::submitTo
type: function
doc:
<comment>Description:</comment>
  Submits a task to a specific worker for execution
  
  Submit a task to the specified worker in the pool. The workers are indexed from 0, and will only
  exist if the pool has needed to create them (since threads are lazily spawned).

<comment>Param:</comment>
  <info>int</info>       <strong>$worker</strong>  The worker to stack the task onto, indexed from <return>0</return>.
  <info>Threaded</info>  <strong>$task</strong>    The task for execution.

<comment>Return:</comment>
  <info>int</info>  The identifier of the worker that accepted the task.


id: QuickHashIntHash
type: class
doc:
<comment>Description:</comment>
  This class wraps around a hash containing integer numbers, where the values are also integer
  numbers. Hashes are also available as implementation of the ArrayAccess interface.
  
  Hashes can also be iterated over with <return>foreach</return> as the Iterator interface is implemented as well.
  The order of which elements are returned in is not guaranteed.


id: QuickHashIntHash::CHECK_FOR_DUPES
type: constant
doc:
<comment>Description:</comment>
  If enabled, adding duplicate elements to a set (through either QuickHashIntHash::add or
  QuickHashIntHash::loadFromFile) will result in those elements to be dropped from the set. This
  will take up extra time, so only used when it is required.


id: QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
type: constant
doc:
<comment>Description:</comment>
  Disables the use of PHP's internal memory manager for internal set structures. With this option
  enabled, internal allocations will not count towards the memory_limit settings.


id: QuickHashIntHash::HASHER_JENKINS1
type: constant
doc:
<comment>Description:</comment>
  This is the default hashing function to turn the integer hashes into bucket list indexes.


id: QuickHashIntHash::HASHER_NO_HASH
type: constant
doc:
<comment>Description:</comment>
  Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This
  is not faster than normal hashing, and gives more collisions.


id: QuickHashIntHash::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new QuickHashIntHash object
  
  This constructor creates a new <class>QuickHashIntHash</class>. The size is the amount of bucket lists to create.
  The more lists there are, the less collisions you will have. Options are also supported.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>     The amount of bucket lists to configure. The number you pass in will be
                 automatically rounded up to the next power of two. It is also automatically limited
                 from <return>64</return> to <return>4194304</return>.
  <info>int</info>  <strong>$options</strong>  The options that you can pass in are: <info>QuickHashIntHash::CHECK_FOR_DUPES</info>, which
                 makes sure no duplicate entries are added to the hash;
                 <info>QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC</info> to not use PHP's internal memory manager as
                 well as one of <info>QuickHashIntHash::HASHER_NO_HASH</info>, <info>QuickHashIntHash::HASHER_JENKINS1</info>
                 or <info>QuickHashIntHash::HASHER_JENKINS2</info>. These last three configure which hashing
                 algorithm to use. All options can be combined using bitmasks.

<comment>Return:</comment>
  <info>unknown</info>  Returns a new <class>QuickHashIntHash</class> object.


id: QuickHashIntHash::add
type: function
doc:
<comment>Description:</comment>
  This method adds a new entry to the hash
  
  This method adds a new entry to the hash, and returns whether the entry was added. Entries are by
  default always added unless <info>QuickHashIntHash::CHECK_FOR_DUPES</info> has been passed when the hash was
  created.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>    The key of the entry to add.
  <info>int</info>  <strong>$value</strong>  The optional value of the entry to add. If no value is specified, <return>1</return> will be used.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was added, and <info>false</info> if the entry was not added.


id: QuickHashIntHash::delete
type: function
doc:
<comment>Description:</comment>
  This method deletes an entry from the hash
  
  This method deletes an entry from the hash, and returns whether the entry was deleted or not.
  Associated memory structures will not be freed immediately, but rather when the hash itself is
  freed.
  
  Elements can not be deleted when the hash is used in an iterator. The method will not throw an
  exception, but simply return <info>false</info> like would happen with any other deletion failure.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to delete.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was deleted, and <info>false</info> if the entry was not deleted.


id: QuickHashIntHash::exists
type: function
doc:
<comment>Description:</comment>
  This method checks whether a key is part of the hash
  
  This method checks whether an entry with the provided key exists in the hash.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to check for whether it exists in the hash.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the entry was found, or <info>false</info> when the entry is not found.


id: QuickHashIntHash::get
type: function
doc:
<comment>Description:</comment>
  This method retrieves a value from the hash by its key
  
  This method retrieves a value from the hash by its key.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to retrieve.

<comment>Return:</comment>
  <info>int</info>  The value if the key exists, or <info>null</info> if the key wasn't part of the hash.


id: QuickHashIntHash::getSize
type: function
doc:
<comment>Description:</comment>
  Returns the number of elements in the hash
  
  Returns the number of elements in the hash.

<comment>Return:</comment>
  <info>int</info>  The number of elements in the hash.


id: QuickHashIntHash::loadFromFile
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a file
  
  This factory method creates a new hash from a definition file on disk. The file format consists of
  a signature <return>'QH\0x11\0'</return>, the number of elements as a 32 bit signed integer in system Endianness,
  followed by 32 bit signed integers packed together in the Endianness that the system that the code
  runs on uses. For each hash element there are two 32 bit signed integers stored. The first of each
  element is the key, and the second is the value belonging to the key. An example could be:
  
  QuickHash IntHash file format
  
  QuickHash IntHash file format

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to read the hash from.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the hash, rounded up to the nearest power of two with a maximum
                     limit of <return>4194304</return>.

<comment>Return:</comment>
  <info>QuickHashIntHash</info>  Returns a new <class>QuickHashIntHash</class>.


id: QuickHashIntHash::loadFromString
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a string
  
  This factory method creates a new hash from a definition in a string. The file format consists of
  32 bit signed integers packed together in the Endianness that the system that the code runs on
  uses. For each element there are two 32 bit signed integers stored. The first of each element is
  the key, and the second is the value belonging to the key.

<comment>Param:</comment>
  <info>string</info>  <strong>$contents</strong>  The string containing a serialized format of the hash.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the hash, rounded up to the nearest power of two with a maximum
                     limit of <return>4194304</return>.

<comment>Return:</comment>
  <info>QuickHashIntHash</info>  Returns a new <class>QuickHashIntHash</class>.


id: QuickHashIntHash::saveToFile
type: function
doc:
<comment>Description:</comment>
  This method stores an in-memory hash to disk
  
  This method stores an existing hash to a file on disk, in the same format that
  QuickHashIntHash::loadFromFile can read.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to store the hash in.

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


id: QuickHashIntHash::saveToString
type: function
doc:
<comment>Description:</comment>
  This method returns a serialized version of the hash
  
  This method returns a serialized version of the hash in the same format that
  QuickHashIntHash::loadFromString can read.

<comment>Return:</comment>
  <info>string</info>  This method returns a string containing a serialized format of the hash. Each element is
          stored as a four byte value in the Endianness that the current system uses.


id: QuickHashIntHash::set
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value, or
    adds a new one if the entry doesn't exist
  
  This method tries to update an entry with a new value. In case the entry did not yet exist, it
  will instead add a new entry. It returns whether the entry was added or update. If there are
  duplicate keys, only the first found element will get an updated value. Use
  <info>QuickHashIntHash::CHECK_FOR_DUPES</info> during hash creation to prevent duplicate keys from being part
  of the hash.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>    The key of the entry to add or update.
  <info>int</info>  <strong>$value</strong>  The new value to set the entry with.

<comment>Return:</comment>
  <info>bool</info>  2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an
        error.


id: QuickHashIntHash::update
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value
  
  This method updates an entry with a new value, and returns whether the entry was update. If there
  are duplicate keys, only the first found element will get an updated value. Use
  <info>QuickHashIntHash::CHECK_FOR_DUPES</info> during hash creation to prevent duplicate keys from being part
  of the hash.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>    The key of the entry to update.
  <info>int</info>  <strong>$value</strong>  The new value to update the entry with.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was found and updated, and <info>false</info> if the entry was not part of the hash
        already.


id: QuickHashIntSet
type: class
doc:
<comment>Description:</comment>
  This class wraps around a set containing integer numbers.
  
  Sets can also be iterated over with <return>foreach</return> as the Iterator interface is implemented as well. The
  order of which elements are returned in is not guaranteed.


id: QuickHashIntSet::CHECK_FOR_DUPES
type: constant
doc:
<comment>Description:</comment>
  If enabled, adding duplicate elements to a set (through either QuickHashIntSet::add or
  QuickHashIntSet::loadFromFile) will result in those elements to be dropped from the set. This will
  take up extra time, so only used when it is required.


id: QuickHashIntSet::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new QuickHashIntSet object
  
  This constructor creates a new <class>QuickHashIntSet</class>. The size is the amount of bucket lists to create.
  The more lists there are, the less collisions you will have. Options are also supported.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>     The amount of bucket lists to configure. The number you pass in will be
                 automatically rounded up to the next power of two. It is also automatically limited
                 from <return>4</return> to <return>4194304</return>.
  <info>int</info>  <strong>$options</strong>  The options that you can pass in are: <info>QuickHashIntSet::CHECK_FOR_DUPES</info>, which makes
                 sure no duplicate entries are added to the set;
                 <info>QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC</info> to not use PHP's internal memory manager as
                 well as one of <info>QuickHashIntSet::HASHER_NO_HASH</info>, <info>QuickHashIntSet::HASHER_JENKINS1</info> or
                 <info>QuickHashIntSet::HASHER_JENKINS2</info>. These last three configure which hashing
                 algorithm to use. All options can be combined using bitmasks.

<comment>Return:</comment>
  <info>unknown</info>  Returns a new <class>QuickHashIntSet</class> object.


id: QuickHashIntSet::add
type: function
doc:
<comment>Description:</comment>
  This method adds a new entry to the set
  
  This method adds a new entry to the set, and returns whether the entry was added. Entries are by
  default always added unless <info>QuickHashIntSet::CHECK_FOR_DUPES</info> has been passed when the set was
  created.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to add.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was added, and <info>false</info> if the entry was not added.


id: QuickHashIntSet::delete
type: function
doc:
<comment>Description:</comment>
  This method deletes an entry from the set
  
  This method deletes an entry from the set, and returns whether the entry was deleted or not.
  Associated memory structures will not be freed immediately, but rather when the set itself is
  freed.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to delete.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was deleted, and <info>false</info> if the entry was not deleted.


id: QuickHashIntSet::exists
type: function
doc:
<comment>Description:</comment>
  This method checks whether a key is part of the set
  
  This method checks whether an entry with the provided key exists in the set.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to check for whether it exists in the set.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the entry was found, or <info>false</info> when the entry is not found.


id: QuickHashIntSet::getSize
type: function
doc:
<comment>Description:</comment>
  Returns the number of elements in the set
  
  Returns the number of elements in the set.

<comment>Return:</comment>
  <info>int</info>  The number of elements in the set.


id: QuickHashIntSet::loadFromFile
type: function
doc:
<comment>Description:</comment>
  This factory method creates a set from a file
  
  This factory method creates a new set from a definition file on disk. The file format consists of
  32 bit signed integers packed together in the Endianness that the system that the code runs on
  uses.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to read the set from.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from <return>4</return> to <return>4194304</return>.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the set, rounded up to the nearest power of two with a maximum limit
                     of <return>4194304</return>.

<comment>Return:</comment>
  <info>QuickHashIntSet</info>  Returns a new <class>QuickHashIntSet</class>.


id: QuickHashIntSet::loadFromString
type: function
doc:
<comment>Description:</comment>
  This factory method creates a set from a string
  
  This factory method creates a new set from a definition in a string. The file format consists of
  32 bit signed integers packed together in the Endianness that the system that the code runs on
  uses.

<comment>Param:</comment>
  <info>string</info>  <strong>$contents</strong>  The string containing a serialized format of the set.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from <return>4</return> to <return>4194304</return>.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the set, rounded up to the nearest power of two automatically
                     limited from <return>64</return> to <return>4194304</return>.

<comment>Return:</comment>
  <info>QuickHashIntSet</info>  Returns a new <class>QuickHashIntSet</class>.


id: QuickHashIntSet::saveToFile
type: function
doc:
<comment>Description:</comment>
  This method stores an in-memory set to disk
  
  This method stores an existing set to a file on disk, in the same format that
  QuickHashIntSet::loadFromFile can read.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to store the hash in.

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


id: QuickHashIntSet::saveToString
type: function
doc:
<comment>Description:</comment>
  This method returns a serialized version of the set
  
  This method returns a serialized version of the set in the same format that
  QuickHashIntSet::loadFromString can read.

<comment>Return:</comment>
  <info>string</info>  This method returns a string containing a serialized format of the set. Each element is
          stored as a four byte value in the Endianness that the current system uses.


id: QuickHashIntStringHash
type: class
doc:
<comment>Description:</comment>
  This class wraps around a hash containing integer numbers, where the values are strings. Hashes
  are also available as implementation of the ArrayAccess interface.
  
  Hashes can also be iterated over with <return>foreach</return> as the Iterator interface is implemented as well.
  The order of which elements are returned in is not guaranteed.


id: QuickHashIntStringHash::CHECK_FOR_DUPES
type: constant
doc:
<comment>Description:</comment>
  If enabled, adding duplicate elements to a set (through either QuickHashIntStringHash::add or
  QuickHashIntStringHash::loadFromFile) will result in those elements to be dropped from the set.
  This will take up extra time, so only used when it is required.


id: QuickHashIntStringHash::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new QuickHashIntStringHash object
  
  This constructor creates a new <class>QuickHashIntStringHash</class>. The size is the amount of bucket lists to
  create. The more lists there are, the less collisions you will have. Options are also supported.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>     The amount of bucket lists to configure. The number you pass in will be
                 automatically rounded up to the next power of two. It is also automatically limited
                 from <return>64</return> to <return>4194304</return>.
  <info>int</info>  <strong>$options</strong>  The options that you can pass in are: <info>QuickHashIntStringHash::CHECK_FOR_DUPES</info>,
                 which makes sure no duplicate entries are added to the hash;
                 <info>QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC</info> to not use PHP's internal memory
                 manager as well as one of <info>QuickHashIntStringHash::HASHER_NO_HASH</info>,
                 <info>QuickHashIntStringHash::HASHER_JENKINS1</info> or <info>QuickHashIntStringHash::HASHER_JENKINS2</info>.
                 These last three configure which hashing algorithm to use. All options can be
                 combined using bitmasks.

<comment>Return:</comment>
  <info>unknown</info>  Returns a new <class>QuickHashIntStringHash</class> object.


id: QuickHashIntStringHash::add
type: function
doc:
<comment>Description:</comment>
  This method adds a new entry to the hash
  
  This method adds a new entry to the hash, and returns whether the entry was added. Entries are by
  default always added unless <info>QuickHashIntStringHash::CHECK_FOR_DUPES</info> has been passed when the hash
  was created.

<comment>Param:</comment>
  <info>int</info>     <strong>$key</strong>    The key of the entry to add.
  <info>string</info>  <strong>$value</strong>  The value of the entry to add. If a non-string is passed, it will be converted to
                  a string automatically if possible.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was added, and <info>false</info> if the entry was not added.


id: QuickHashIntStringHash::get
type: function
doc:
<comment>Description:</comment>
  This method retrieves a value from the hash by its key
  
  This method retrieves a value from the hash by its key.

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The key of the entry to retrieve.

<comment>Return:</comment>
  <info>mixed</info>  The value if the key exists, or <info>null</info> if the key wasn't part of the hash.


id: QuickHashIntStringHash::loadFromFile
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a file
  
  This factory method creates a new hash from a definition file on disk. The file format consists of
  a signature <return>'QH\0x12\0'</return>, the number of elements as a 32 bit signed integer in system Endianness,
  an unsigned 32 bit integer containing the number of element data to follow in characters. This
  element data contains all the strings. After the header and the strings, the elements follow in
  pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index
  in the element data string. An example could be:
  
  QuickHash IntString file format
  
  QuickHash IntString file format

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to read the hash from.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from <return>4</return> to <return>4194304</return>.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the hash, rounded up to the nearest power of two with a maximum
                     limit of <return>4194304</return>.

<comment>Return:</comment>
  <info>QuickHashIntStringHash</info>  Returns a new <class>QuickHashIntStringHash</class>.


id: QuickHashIntStringHash::loadFromString
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a string
  
  This factory method creates a new hash from a definition in a string. The format is the same as
  the one used in "loadFromFile".

<comment>Param:</comment>
  <info>string</info>  <strong>$contents</strong>  The string containing a serialized format of the hash.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from 4 to 4194304.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the hash, rounded up to the nearest power of two with a maximum
                     limit of 4194304.

<comment>Return:</comment>
  <info>QuickHashIntStringHash</info>  Returns a new QuickHashIntStringHash.


id: QuickHashIntStringHash::saveToFile
type: function
doc:
<comment>Description:</comment>
  This method stores an in-memory hash to disk
  
  This method stores an existing hash to a file on disk, in the same format that loadFromFile() can
  read.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to store the hash in.

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


id: QuickHashIntStringHash::saveToString
type: function
doc:
<comment>Description:</comment>
  This method returns a serialized version of the hash
  
  This method returns a serialized version of the hash in the same format that
  QuickHashIntStringHash::loadFromString can read.

<comment>Return:</comment>
  <info>string</info>  This method returns a string containing a serialized format of the hash. Each element is
          stored as a four byte value in the Endianness that the current system uses.


id: QuickHashIntStringHash::set
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value, or
    adds a new one if the entry doesn't exist
  
  This method tries to update an entry with a new value. In case the entry did not yet exist, it
  will instead add a new entry. It returns whether the entry was added or update. If there are
  duplicate keys, only the first found element will get an updated value. Use
  QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being
  part of the hash.

<comment>Param:</comment>
  <info>int</info>     <strong>$key</strong>    The key of the entry to add or update.
  <info>string</info>  <strong>$value</strong>  The value of the entry to add. If a non-string is passed, it will be converted to
                  a string automatically if possible.

<comment>Return:</comment>
  <info>int</info>  2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an
       error.


id: QuickHashIntStringHash::update
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value
  
  This method updates an entry with a new value, and returns whether the entry was update. If there
  are duplicate keys, only the first found element will get an updated value. Use
  QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being
  part of the hash.

<comment>Param:</comment>
  <info>int</info>     <strong>$key</strong>    The key of the entry to update.
  <info>string</info>  <strong>$value</strong>  The new value for the entry. If a non-string is passed, it will be converted to a
                  string automatically if possible.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was found and updated, and <info>false</info> if the entry was not part of the hash
        already.


id: QuickHashStringIntHash
type: class
doc:
<comment>Description:</comment>
  This class wraps around a hash containing strings, where the values are integer numbers. Hashes
  are also available as implementation of the ArrayAccess interface.
  
  Hashes can also be iterated over with <return>foreach</return> as the Iterator interface is implemented as well.
  The order of which elements are returned in is not guaranteed.


id: QuickHashStringIntHash::CHECK_FOR_DUPES
type: constant
doc:
<comment>Description:</comment>
  If enabled, adding duplicate elements to a set (through either QuickHashStringIntHash::add or
  QuickHashStringIntHash::loadFromFile) will result in those elements to be dropped from the set.
  This will take up extra time, so only used when it is required.


id: QuickHashStringIntHash::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new QuickHashStringIntHash object
  
  This constructor creates a new <class>QuickHashStringIntHash</class>. The size is the amount of bucket lists to
  create. The more lists there are, the less collisions you will have. Options are also supported.

<comment>Param:</comment>
  <info>int</info>  <strong>$size</strong>     The amount of bucket lists to configure. The number you pass in will be
                 automatically rounded up to the next power of two. It is also automatically limited
                 from <return>64</return> to <return>4194304</return>.
  <info>int</info>  <strong>$options</strong>  The options that you can pass in are: <info>QuickHashStringIntHash::CHECK_FOR_DUPES</info>,
                 which makes sure no duplicate entries are added to the hash and
                 <info>QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC</info> to not use PHP's internal memory
                 manager.

<comment>Return:</comment>
  <info>unknown</info>  Returns a new <class>QuickHashStringIntHash</class> object.


id: QuickHashStringIntHash::add
type: function
doc:
<comment>Description:</comment>
  This method adds a new entry to the hash
  
  This method adds a new entry to the hash, and returns whether the entry was added. Entries are by
  default always added unless <info>QuickHashStringIntHash::CHECK_FOR_DUPES</info> has been passed when the hash
  was created.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key of the entry to add.
  <info>int</info>     <strong>$value</strong>  The value of the entry to add.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was added, and <info>false</info> if the entry was not added.


id: QuickHashStringIntHash::delete
type: function
doc:
<comment>Description:</comment>
  This method deletes an entry from the hash
  
  This method deletes an entry from the hash, and returns whether the entry was deleted or not.
  Associated memory structures will not be freed immediately, but rather when the hash itself is
  freed.
  
  Elements can not be deleted when the hash is used in an iterator. The method will not throw an
  exception, but simply return <info>false</info> like would happen with any other deletion failure.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key of the entry to delete.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was deleted, and <info>false</info> if the entry was not deleted.


id: QuickHashStringIntHash::exists
type: function
doc:
<comment>Description:</comment>
  This method checks whether a key is part of the hash
  
  This method checks whether an entry with the provided key exists in the hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key of the entry to check for whether it exists in the hash.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the entry was found, or <info>false</info> when the entry is not found.


id: QuickHashStringIntHash::get
type: function
doc:
<comment>Description:</comment>
  This method retrieves a value from the hash by its key
  
  This method retrieves a value from the hash by its key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key of the entry to retrieve.

<comment>Return:</comment>
  <info>mixed</info>  The value if the key exists, or <info>null</info> if the key wasn't part of the hash.


id: QuickHashStringIntHash::loadFromFile
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a file
  
  This factory method creates a new hash from a definition file on disk. The file format consists of
  a signature <return>'QH\0x21\0'</return>, the number of elements as a 32 bit signed integer in system Endianness,
  an unsigned 32 bit integer containing the number of element data to follow in characters. This
  element data contains all the strings. The follows another signed 32 bit integer containing the
  number of bucket lists.  After the header and the strings, the elements follow. They are ordered
  by bucket list so that the keys don't have to be hashed in order to restore the hash. For each
  bucket list, the following information is stored (all as 32 bit integers): the bucket list index,
  the number of elements in that list, and then in pairs of two unsigned 32 bit integers the
  elements, where the first one is the index into the string list containing the keys, and the
  second one the value.  An example could be:
  
  QuickHash StringIntHash file format
  
  QuickHash IntHash file format

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The filename of the file to read the hash from.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from <return>4</return> to <return>4194304</return>.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is read from the file format (unlike the <class>QuickHashIntHash</class> and
                     <class>QuickHashIntStringHash</class> classes, where it is automatically calculated from the
                     number of entries in the hash.)

<comment>Return:</comment>
  <info>QuickHashStringIntHash</info>  Returns a new <class>QuickHashStringIntHash</class>.


id: QuickHashStringIntHash::loadFromString
type: function
doc:
<comment>Description:</comment>
  This factory method creates a hash from a string
  
  This factory method creates a new hash from a definition in a string. The format is the same as
  the one used in "loadFromFile".

<comment>Param:</comment>
  <info>string</info>  <strong>$contents</strong>  The string containing a serialized format of the hash.
  <info>int</info>     <strong>$size</strong>      The amount of bucket lists to configure. The number you pass in will be
                     automatically rounded up to the next power of two. It is also automatically
                     limited from 4 to 4194304.
  <info>int</info>     <strong>$options</strong>   The same options that the class' constructor takes; except that the size option
                     is ignored. It is automatically calculated to be the same as the number of
                     entries in the hash, rounded up to the nearest power of two with a maximum
                     limit of 4194304.

<comment>Return:</comment>
  <info>QuickHashStringIntHash</info>  Returns a new QuickHashStringIntHash.


id: QuickHashStringIntHash::saveToString
type: function
doc:
<comment>Description:</comment>
  This method returns a serialized version of the hash
  
  This method returns a serialized version of the hash in the same format that
  QuickHashStringIntHash::loadFromString can read.

<comment>Return:</comment>
  <info>string</info>  This method returns a serialized format of an existing hash, in the same format that
          QuickHashStringIntHash::loadFromString can read.


id: QuickHashStringIntHash::set
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value, or
    adds a new one if the entry doesn't exist
  
  This method tries to update an entry with a new value. In case the entry did not yet exist, it
  will instead add a new entry. It returns whether the entry was added or update. If there are
  duplicate keys, only the first found element will get an updated value. Use
  QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being
  part of the hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key of the entry to add or update.
  <info>int</info>     <strong>$value</strong>  The value of the entry to add. If a non-string is passed, it will be converted to
                  a string automatically if possible.

<comment>Return:</comment>
  <info>int</info>  2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an
       error.


id: QuickHashStringIntHash::update
type: function
doc:
<comment>Description:</comment>
  This method updates an entry in the hash with a new value
  
  This method updates an entry with a new value, and returns whether the entry was update. If there
  are duplicate keys, only the first found element will get an updated value. Use
  QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being
  part of the hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key of the entry to update.
  <info>int</info>     <strong>$value</strong>  The new value for the entry. If a non-string is passed, it will be converted to a
                  string automatically if possible.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> when the entry was found and updated, and <info>false</info> if the entry was not part of the hash
        already.


id: RADIUS_ACCESS_ACCEPT
type: constant
doc:
<comment>Description:</comment>
  An Access-Accept response to an Access-Request indicating that the RADIUS server authenticated the
  user successfully.


id: RADIUS_ACCESS_CHALLENGE
type: constant
doc:
<comment>Description:</comment>
  An Access-Challenge response to an Access-Request indicating that the RADIUS server requires
  further information in another Access-Request before authenticating the user.


id: RADIUS_ACCESS_REJECT
type: constant
doc:
<comment>Description:</comment>
  An Access-Reject response to an Access-Request indicating that the RADIUS server could not
  authenticate the user.


id: RADIUS_ACCESS_REQUEST
type: constant
doc:
<comment>Description:</comment>
  An Access-Request, used to authenticate a user against a RADIUS server. Access request packets
  must include a <info>RADIUS_NAS_IP_ADDRESS</info> or a <info>RADIUS_NAS_IDENTIFIER</info> attribute, must also include a
  <info>RADIUS_USER_PASSWORD</info>, <info>RADIUS_CHAP_PASSWORD</info> or a <info>RADIUS_STATE</info> attribute, and should include a
  <info>RADIUS_USER_NAME</info> attribute.


id: RADIUS_ACCOUNTING_REQUEST
type: constant
doc:
<comment>Description:</comment>
  An Accounting-Request, used to convey accounting information for a service to the RADIUS server.


id: RADIUS_ACCT_AUTHENTIC
type: constant
doc:
<comment>Description:</comment>
  Accounting authentic, one of: <info>RADIUS_AUTH_RADIUS</info><info>RADIUS_AUTH_LOCAL</info><info>RADIUS_AUTH_REMOTE</info>


id: RADIUS_ACCT_STATUS_TYPE
type: constant
doc:
<comment>Description:</comment>
  Accounting status type, one of: <info>RADIUS_START</info><info>RADIUS_STOP</info><info>RADIUS_ACCOUNTING_ON</info><info>RADIUS_ACCOUNTING_OFF</info>


id: RADIUS_ACCT_TERMINATE_CAUSE
type: constant
doc:
<comment>Description:</comment>
  Accounting terminate cause, one of:
  <info>RADIUS_TERM_USER_REQUEST</info><info>RADIUS_TERM_LOST_CARRIER</info><info>RADIUS_TERM_LOST_SERVICE</info><info>RADIUS_TERM_IDLE_TIMEOUT</info><info>RADIUS_TERM_SESSION_TIMEOUT</info><info>RADIUS_TERM_ADMIN_RESET</info><info>RADIUS_TERM_ADMIN_REBOOT</info><info>RADIUS_TERM_PORT_ERROR</info><info>RADIUS_TERM_NAS_ERROR</info><info>RADIUS_TERM_NAS_REQUEST</info><info>RADIUS_TERM_NAS_REBOOT</info><info>RADIUS_TERM_PORT_UNNEEDED</info><info>RADIUS_TERM_PORT_PREEMPTED</info><info>RADIUS_TERM_PORT_SUSPENDED</info><info>RADIUS_TERM_SERVICE_UNAVAILABLE</info><info>RADIUS_TERM_CALLBACK</info><info>RADIUS_TERM_USER_ERROR</info><info>RADIUS_TERM_HOST_REQUEST</info>


id: RADIUS_CALLBACK_ID
type: constant
doc:
<comment>Description:</comment>
  The Callback-Id attribute. The attribute value is a <info>string</info> containing an implementation-specific
  name of the place to be called.


id: RADIUS_CALLBACK_NUMBER
type: constant
doc:
<comment>Description:</comment>
  The Callback-Number attribute. The attribute value is a <info>string</info> containing the dialing string to
  use for callback.


id: RADIUS_CHAP_PASSWORD
type: constant
doc:
<comment>Description:</comment>
  The Chap-Password attribute. The attribute value is expected to be a <info>string</info> with the first byte
  containing the CHAP identifier, and the subsequent 16 bytes containing the MD5 hash of the CHAP
  identifier, the plaintext password and the CHAP challenge value concatenated together. Note that
  the CHAP challenge value should also be sent separately in a <info>RADIUS_CHAP_CHALLENGE</info> attribute.
  
  Using CHAP passwords


id: RADIUS_CLASS
type: constant
doc:
<comment>Description:</comment>
  The Class attribute. The attribute value is an arbitrary <info>string</info> included in an Access-Accept
  message that should then be sent to the accounting server in Accounting-Request messages, and can
  be set using <strong>radius_put_attr()</strong>.


id: RADIUS_COA_ACK
type: constant
doc:
<comment>Description:</comment>
  A CoA-ACK, sent to the RADIUS server to indicate that the user authorisations have been updated.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_COA_NAK
type: constant
doc:
<comment>Description:</comment>
  A CoA-NAK, sent to the RADIUS server to indicate that the user authorisations could not be
  updated.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_COA_REQUEST
type: constant
doc:
<comment>Description:</comment>
  A CoA-Request, sent from the RADIUS server to indicate that the authorisations within the user
  session have changed. A response must be sent in the form of a CoA-ACK or a CoA-NAK.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_DISCONNECT_ACK
type: constant
doc:
<comment>Description:</comment>
  A Disconnect-ACK, sent to the RADIUS server to indicate that the user session has been terminated.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_DISCONNECT_NAK
type: constant
doc:
<comment>Description:</comment>
  A Disconnect-NAK, sent to the RADIUS server to indicate that the user session could not be
  terminated.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_DISCONNECT_REQUEST
type: constant
doc:
<comment>Description:</comment>
  A Disconnect-Request, sent from the RADIUS server to indicate that the user session must be
  terminated.
  
  This constant is available in PECL radius 1.3.0 and later.


id: RADIUS_FILTER_ID
type: constant
doc:
<comment>Description:</comment>
  The Filter-ID attribute. The attribute value is expected to be an implementation-specific,
  human-readable <info>string</info> of filters, which can be set using <strong>radius_put_attr()</strong>.


id: RADIUS_FRAMED_COMPRESSION
type: constant
doc:
<comment>Description:</comment>
  The Framed-Compression attribute. The attribute value is expected to be an <info>int</info> indicating the
  compression protocol to be used, and can be set using <strong>radius_put_int()</strong>. Possible values include
  these constants: <info>RADIUS_COMP_NONE</info>: No compression<info>RADIUS_COMP_VJ</info>: VJ TCP/IP header
  compression<info>RADIUS_COMP_IPXHDR</info>: IPX header compression<info>RADIUS_COMP_STAC_LZS</info>: Stac-LZS compression
  (added in PECL radius 1.3.0b2)


id: RADIUS_FRAMED_IPX_NETWORK
type: constant
doc:
<comment>Description:</comment>
  The Framed-IPX-Network attribute. The attribute value is an <info>int</info> containing the IPX network to be
  configured for the user, or <return>0xFFFFFFFE</return> to indicate that the RADIUS client should select the
  network, and can be accessed via <strong>radius_cvt_int()</strong>.


id: RADIUS_FRAMED_IP_ADDRESS
type: constant
doc:
<comment>Description:</comment>
  The Framed-IP-Address attribute. The attribute value is expected to be the address of the user's
  network encoded as an <info>int</info>, which can be set using <strong>radius_put_addr()</strong> and retrieved using
  <strong>radius_cvt_addr()</strong>.


id: RADIUS_FRAMED_IP_NETMASK
type: constant
doc:
<comment>Description:</comment>
  The Framed-IP-Netmask attribute. The attribute value is expected to be the netmask of the user's
  network encoded as an <info>int</info>, which can be set using <strong>radius_put_addr()</strong> and retrieved using
  <strong>radius_cvt_addr()</strong>.


id: RADIUS_FRAMED_MTU
type: constant
doc:
<comment>Description:</comment>
  The Framed-MTU attribute. The attribute value is expected to be an <info>int</info> indicating the MTU to be
  configured for the user, and can be set using <strong>radius_put_int()</strong>.


id: RADIUS_FRAMED_PROTOCOL
type: constant
doc:
<comment>Description:</comment>
  The Framed-Protocol attribute. The attribute value is expected to be an <info>int</info> indicating the framing
  to be used for framed access, and can be set using <strong>radius_put_int()</strong>. The possible attribute values
  include these constants: <info>RADIUS_PPP</info><info>RADIUS_SLIP</info><info>RADIUS_ARAP</info><info>RADIUS_GANDALF</info><info>RADIUS_XYLOGICS</info>


id: RADIUS_FRAMED_ROUTE
type: constant
doc:
<comment>Description:</comment>
  The Framed-Route attribute. The attribute value is a <info>string</info> containing an implementation-specific
  set of routes to be configured for the user.


id: RADIUS_FRAMED_ROUTING
type: constant
doc:
<comment>Description:</comment>
  The Framed-Routing attribute. The attribute value is expected to be an <info>int</info> indicating the routing
  method for the user, which can be set using <strong>radius_put_int()</strong>.
  
  Possible values include: <return>0</return>: No routing<return>1</return>: Send routing packets<return>2</return>: Listen for routing packets<return>3</return>: Send
  and listen


id: RADIUS_LOGIN_IP_HOST
type: constant
doc:
<comment>Description:</comment>
  The Login-IP-Host attribute. The attribute value is expected to the IP address to connect the user
  to, encoded as an <info>int</info>, which can be set using <strong>radius_put_addr()</strong>.


id: RADIUS_LOGIN_SERVICE
type: constant
doc:
<comment>Description:</comment>
  The Login-Service attribute. The attribute value is an <info>int</info> indicating the service to connect the
  user to on the login host. The value can be converted to a PHP integer via <strong>radius_cvt_int()</strong>.


id: RADIUS_LOGIN_TCP_PORT
type: constant
doc:
<comment>Description:</comment>
  The Login-TCP-Port attribute. The attribute value is an <info>int</info> indicating the port to connect the
  user to on the login host. The value can be converted to a PHP integer via <strong>radius_cvt_int()</strong>.


id: RADIUS_NAS_IP_ADDRESS
type: constant
doc:
<comment>Description:</comment>
  The NAS-IP-Address attribute. The attribute value is expected to the IP address of the RADIUS
  client encoded as an <info>int</info>, which can be set using <strong>radius_put_addr()</strong>.


id: RADIUS_NAS_PORT
type: constant
doc:
<comment>Description:</comment>
  The NAS-Port attribute. The attribute value is expected to be the physical port of the user on the
  RADIUS client encoded as an <info>int</info>, which can be set using <strong>radius_put_int()</strong>.


id: RADIUS_NAS_PORT_TYPE
type: constant
doc:
<comment>Description:</comment>
  NAS port type, one of:
  <info>RADIUS_ASYNC</info><info>RADIUS_SYNC</info><info>RADIUS_ISDN_SYNC</info><info>RADIUS_ISDN_ASYNC_V120</info><info>RADIUS_ISDN_ASYNC_V110</info><info>RADIUS_VIRTUAL</info><info>RADIUS_PIAFS</info><info>RADIUS_HDLC_CLEAR_CHANNEL</info><info>RADIUS_X_25</info><info>RADIUS_X_75</info><info>RADIUS_G_3_FAX</info><info>RADIUS_SDSL</info><info>RADIUS_ADSL_CAP</info><info>RADIUS_ADSL_DMT</info><info>RADIUS_IDSL</info><info>RADIUS_ETHERNET</info><info>RADIUS_XDSL</info><info>RADIUS_CABLE</info><info>RADIUS_WIRELESS_OTHER</info><info>RADIUS_WIRELESS_IEEE_802_11</info>


id: RADIUS_OPTION_SALT
type: constant
doc:
<comment>Description:</comment>
  When set, this option will result in the attribute value being salt-encrypted.


id: RADIUS_OPTION_TAGGED
type: constant
doc:
<comment>Description:</comment>
  When set, this option will result in the attribute value being tagged with the value of the tag
  parameter.


id: RADIUS_REPLY_MESSAGE
type: constant
doc:
<comment>Description:</comment>
  The Reply-Message attribute. The attribute value is a <info>string</info> containing text that may be displayed
  to the user in response to an access request.


id: RADIUS_SERVICE_TYPE
type: constant
doc:
<comment>Description:</comment>
  The Service-Type attribute. The attribute value indicates the service type the user is requesting,
  and is expected to be an <info>int</info>, which can be set using <strong>radius_put_int()</strong>.
  
  A number of constants are provided to represent the possible values of this attribute. They
  include:
  <info>RADIUS_LOGIN</info><info>RADIUS_FRAMED</info><info>RADIUS_CALLBACK_LOGIN</info><info>RADIUS_CALLBACK_FRAMED</info><info>RADIUS_OUTBOUND</info><info>RADIUS_ADMINISTRATIVE</info><info>RADIUS_NAS_PROMPT</info><info>RADIUS_AUTHENTICATE_ONLY</info><info>RADIUS_CALLBACK_NAS_PROMPT</info>


id: RADIUS_STATE
type: constant
doc:
<comment>Description:</comment>
  The State attribute. The attribute value is an implementation-defined <info>string</info> included in an
  Access-Challenge from a server that must be included in the subsequent Access-Request, and can be
  set using <strong>radius_put_attr()</strong>.


id: RADIUS_USER_NAME
type: constant
doc:
<comment>Description:</comment>
  The User-Name attribute. The attribute value is expected to be a <info>string</info> containing the name of the
  user being authenticated, and can be set using <strong>radius_put_attr()</strong>.


id: RADIUS_USER_PASSWORD
type: constant
doc:
<comment>Description:</comment>
  The User-Password attribute. The attribute value is expected to be a <info>string</info> containing the user's
  password, and can be set using <strong>radius_put_attr()</strong>. This value will be obfuscated on transmission as
  described in section 5.2 of RFC 2865.


id: RADIUS_VENDOR_MICROSOFT
type: constant
doc:
<comment>Description:</comment>
  Microsoft specific vendor attributes (RFC 2548), one of:
  <info>RADIUS_MICROSOFT_MS_CHAP_RESPONSE</info><info>RADIUS_MICROSOFT_MS_CHAP_ERROR</info><info>RADIUS_MICROSOFT_MS_CHAP_PW_1</info><info>RADIUS_MICROSOFT_MS_CHAP_PW_2</info><info>RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW</info><info>RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW</info><info>RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY</info><info>RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES</info><info>RADIUS_MICROSOFT_MS_RAS_VENDOR</info><info>RADIUS_MICROSOFT_MS_CHAP_DOMAIN</info><info>RADIUS_MICROSOFT_MS_CHAP_CHALLENGE</info><info>RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS</info><info>RADIUS_MICROSOFT_MS_BAP_USAGE</info><info>RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD</info><info>RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT</info><info>RADIUS_MICROSOFT_MS_MPPE_SEND_KEY</info><info>RADIUS_MICROSOFT_MS_MPPE_RECV_KEY</info><info>RADIUS_MICROSOFT_MS_RAS_VERSION</info><info>RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD</info><info>RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD</info><info>RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON</info><info>RADIUS_MICROSOFT_MS_FILTER</info><info>RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE</info><info>RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE</info><info>RADIUS_MICROSOFT_MS_CHAP2_RESPONSE</info><info>RADIUS_MICROSOFT_MS_CHAP2_SUCCESS</info><info>RADIUS_MICROSOFT_MS_CHAP2_PW</info><info>RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER</info><info>RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER</info><info>RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER</info><info>RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER</info><info>RADIUS_MICROSOFT_MS_ARAP_CHALLENGE</info>


id: RADIUS_VENDOR_SPECIFIC
type: constant
doc:
<comment>Description:</comment>
  The Vendor-Specific attribute. In general, vendor attribute values should be set using
  <strong>radius_put_vendor_addr()</strong>, <strong>radius_put_vendor_attr()</strong>, <strong>radius_put_vendor_int()</strong> and
  <strong>radius_put_vendor_string()</strong>, rather than directly.
  
  This constant is mostly useful when interpreting vendor specific attributes in responses from a
  RADIUS server; when a vendor specific attribute is received, the <strong>radius_get_vendor_attr()</strong> function
  should be used to access the vendor ID, attribute type and attribute value.


id: READLINE_LIB
type: constant
doc:
<comment>Description:</comment>
  La biblioteca que se utiliza para el soporte de la línea de lectura; actualmente <return>readline</return> o
  <return>libedit</return>. Disponible a partir de PHP 5.5.0.


id: RESOURCETYPE_AREA
type: constant
doc:
<comment>Description:</comment>
  Establecer el máximo ancho * alto de una imagen que puede residir en la memoria caché de pixel.


id: RESOURCETYPE_DISK
type: constant
doc:
<comment>Description:</comment>
  Establecer el espacio máximo de disco permitido en bytes que use la caché de pixel.


id: RESOURCETYPE_FILE
type: constant
doc:
<comment>Description:</comment>
  Establecer el número máximo de ficheros de caché de pixel abiertos.


id: RESOURCETYPE_MAP
type: constant
doc:
<comment>Description:</comment>
  Establecer la cantidad máxima de mapa de memoria a asignar en bytes para la caché de pixel.


id: RESOURCETYPE_MEMORY
type: constant
doc:
<comment>Description:</comment>
  Establecer la cantidad máxima de memoria en bytes a asignar para la caché de pixel desde el
  montículo.


id: RNP_ENCRYPT_NOWRAP
type: constant
doc:
<comment>Description:</comment>
  Allows encryption of signed message. Message is not wrapped into literal data packet.


id: RNP_KEYSTORE_KBX
type: constant
doc:
<comment>Description:</comment>
  Keystore format "KBX". For public keys only. A keybox is a file format used to store public keys
  along with meta information and indices.


id: RNP_KEY_EXPORT_SUBKEYS
type: constant
doc:
<comment>Description:</comment>
  If primary key is being exported, all subkeys will be exported too.


id: RNP_KEY_REMOVE_SUBKEYS
type: constant
doc:
<comment>Description:</comment>
  If primary key is being deleted, all of its subkeys will be removed too.


id: RNP_LOAD_SAVE_PERMISSIVE
type: constant
doc:
<comment>Description:</comment>
  Allows to ignore bad signature/key/subkey packets during key import.


id: RNP_LOAD_SAVE_PUBLIC_KEYS
type: constant
doc:
<comment>Description:</comment>
  Load or save public keys only. Can be OR-ed with <info>RNP_LOAD_SAVE_SECRET_KEYS</info> to load both public and
  private keys to the FFI context or save them from the context.


id: RNP_LOAD_SAVE_SECRET_KEYS
type: constant
doc:
<comment>Description:</comment>
  Load or save secret keys only. Can be OR-ed with <info>RNP_LOAD_SAVE_PUBLIC_KEYS</info> to load both public and
  private keys to the FFI context or save them from the context.


id: RPMMIRE_DEFAULT
type: constant
doc:
<comment>Description:</comment>
  Search pattern is a regular expression with \., .* and ^...$ added.


id: RPMTAG_ENHANCENAME
type: constant
doc:
<comment>Description:</comment>
  Weak dependencies, with database index, requires librpm &gt;= 4.13.


id: RPMTAG_FILETRIGGERNAME
type: constant
doc:
<comment>Description:</comment>
  File trigger name, with database index, requires librpm &gt;= 4.13.


id: RPMTAG_RECOMMENDNAME
type: constant
doc:
<comment>Description:</comment>
  Recommended weak dependencies, with database index, requires librpm &gt;= 4.13.


id: RPMTAG_SUGGESTNAME
type: constant
doc:
<comment>Description:</comment>
  Suggested weak dependencies, with database index, requires librpm &gt;= 4.13.


id: RPMTAG_TRANSFILETRIGGERNAME
type: constant
doc:
<comment>Description:</comment>
  Transaction file trigger name, with database index, requires librpm &gt;= 4.13.


id: RRDCreator::__construct
type: function
doc:
<comment>Description:</comment>
  Crea una nueva instancia RRDCreator
  
  Crea una nueva instancia RRDCreator.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>       Ruta de acceso para el archivo de base de datos recién creada RRD.
  <info>string</info>  <strong>$startTime</strong>  Tiempo para el primer valor en la base de datos RRD.Parámetro soporta todos
                      los formatos que son soportados por la llamada a rrd create.
  <info>int</info>     <strong>$step</strong>       Base de intervalo en segundos con que los datos se introducen en la base de
                      datos RRD.

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


id: RRDCreator::addArchive
type: function
doc:
<comment>Description:</comment>
  Añade RRA - archivo de valores de datos para cada fuente de datos
  
  Añade definición RRA por descripción de archivo. Archivo consta de un número de valores de datos o
  estadísticas para cada una de las fuentes de datos definidas (DS). Las fuentes de datos son
  definidos a través del método RRDCreator::addDataSource. Es necesario llamar a este método para
  cada archivo solicitado.

<comment>Param:</comment>
  <info>string</info>  <strong>$description</strong>  Definición del archivo - RRA. Esta tiene el mismo formato que la definición
                        RRA en el comando rrd create. Ver página de manual de rrd create para
                        obtener más detalles.

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


id: RRDCreator::addDataSource
type: function
doc:
<comment>Description:</comment>
  Añade definición de origen de datos para la base de datos RRD
  
  RRD puede aceptar la entrada desde varias fuentes de datos (DS), por ejemplo, tráfico entrante y
  saliente. Este método añade fuente de datos por descripción. Necesita llamar a este método para
  cada fuente de datos.

<comment>Param:</comment>
  <info>string</info>  <strong>$description</strong>  Definición de origen de datos - DS. Esta tiene el mismo formato como la
                        definición DS en el comando rrd create. Ver página de manual de rrd create
                        para obtener más detalles.

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


id: RRDCreator::save
type: function
doc:
<comment>Description:</comment>
  Guarda la base de datos RRD en un archivo
  
  Guarda la base de datos RRD en un archivo, cuyo nombre es definido por RRDCreator::__construct.

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


id: RRDGraph
type: class
doc:
<comment>Description:</comment>
  Clase para exportar datos de la bases de datos RRD al archivo de imagen.


id: RRDGraph::__construct
type: function
doc:
<comment>Description:</comment>
  Crea una nueva instancia RRDGraph
  
  Crea una nueva instancia RRDGraph. Esta instancia es la encargada de mostrar el resultado de la
  consulta de base de datos RRD en la imagen.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  Ruta completa de la imagen recién creada.

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


id: RRDGraph::save
type: function
doc:
<comment>Description:</comment>
  Guarda el resultado de la consulta en la imagen
  
  Guarda el resultado de la consulta de base de datos RRD en la imagen definida por
  RRDGraph::__construct.

<comment>Return:</comment>
  <info>array</info>  Se devuelve un array con información acerca de la imagen generada, <info>false</info> si se produce un
         error.


id: RRDGraph::saveVerbose
type: function
doc:
<comment>Description:</comment>
  Guarda la consulta de la bases de datos RRD en la imagen y devuelve la
     información detallada acerca de gráfico generado.
    
  
  Guarda la consulta de bases de datos RRD en el archivo de imagen definido por el método
  RRDGraph::__construct y devuelve la información detallada acerca de gráfico generado, si "-" se
  utiliza como nombre de archivo de imagen, los datos de la imagen también se devolverán en el array
  de resultados.

<comment>Return:</comment>
  <info>array</info>  Se devuelve un array con información detallada acerca de la imagen generada, opcionalmente
         con datos de imagen, <info>false</info> si se produce un error.


id: RRDGraph::setOptions
type: function
doc:
<comment>Description:</comment>
  Establece las opciones para la exportación gráfica rrd

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Lista de las opciones para la generación de imágenes a partir del archivo de base
                   de datos RRD. Esta puede ser una lista de cadenas o lista de cadenas con claves
                   para una mejor legibilidad. Consulte las páginas del manual rrd graph para
                   conocer la lista de opciones disponibles.

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


id: RRDUpdater::__construct
type: function
doc:
<comment>Description:</comment>
  Crea una nueva instancia RRDUpdater
  
  Crea una nueva instancia RRDUpdater. Esta instancia es responsable de actualizar el archivo de
  base de datos RRD.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  Ruta de archivo del sistema para el archivo de base de datos RRD, que se
                 actualizará.

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


id: RRDUpdater::update
type: function
doc:
<comment>Description:</comment>
  Actualiza el archivo de base de datos RRD
  
  Actualiza el archivo RRD definido a través de RRDUpdater::__construct. El archivo se actualiza con
  un valor específico.

<comment>Param:</comment>
  <info>array</info>   <strong>$values</strong>  Los datos de actualización. Key del array es el nombre del origen de datos.
  <info>string</info>  <strong>$time</strong>    Valor del tiempo para la actualización del RRD con unos datos particulares. El
                   valor predeterminado  es la hora actual.

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


id: RUNKIT_ACC_PRIVATE
type: constant
doc:
<comment>Description:</comment>
  Bandera específica de PHP 5 para <strong>runkit_method_add()</strong> y <strong>runkit_method_redefine()</strong>


id: RUNKIT_ACC_STATIC
type: constant
doc:
<comment>Description:</comment>
  Bandera específica de PHP 5 para <strong>runkit_method_add()</strong> y <strong>runkit_method_redefine()</strong>. Disponible desde
  Runkit 1.0.1.


id: RUNKIT_IMPORT_CLASSES
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que representa un operador OR a nivel de bit de las constantes
  <info>RUNKIT_IMPORT_CLASS_*</info>.


id: RUNKIT_IMPORT_CLASS_CONSTS
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que las constantes de clases deberían ser importadas desde
  el archivo especificado. Observe que esta bandera sólo tiene sentido en versiones de PHP 5.1.0 y
  superiores.


id: RUNKIT_IMPORT_CLASS_METHODS
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que los métodos de clases deberían ser importados desde el
  archivo especificado.


id: RUNKIT_IMPORT_CLASS_PROPS
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que las propiedades estándar de clases deberían ser
  importadas desde el archivo especificado.


id: RUNKIT_IMPORT_CLASS_STATIC_PROPS
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que las propiedades estáticas de clases deben ser importadas
  desde el fichero especificado. Disponible desde Runkit 1.0.1.


id: RUNKIT_IMPORT_FUNCTIONS
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que las funciones normales deberían ser importadas desde el
  archivo especificado.


id: RUNKIT_IMPORT_OVERRIDE
type: constant
doc:
<comment>Description:</comment>
  Bandera de <strong>runkit_import()</strong> que indica que si cualesquiera de las funciones, métodos, contantes o
  propiedades importados ya existen deberían ser reemplazados con las nuevas definiciones. Si esta
  bandera no está establecida, cualquier definición importada que ya exista será descartada.


id: Random\CryptoSafeEngine
type: class
doc:
<comment>Description:</comment>
  A marker interface indicating that the <info>Random\Engine</info> returns cryptographically secure randomness.


id: Random\Engine
type: class
doc:
<comment>Description:</comment>
  A <class>Random\Engine</class> provides a low-level source of randomness by returning random bytes that are
  consumed by high-level APIs to perform their operations. The <class>Random\Engine</class> interface allows
  swapping out the algorithm used to generate randomness, because each algorithm makes different
  tradeoffs to fit specific use-cases. Some algorithms are very fast, but generate lower-quality
  randomness, whereas other algorithms are slower, but generate better randomness, up to
  cryptographically secure randomness as provided by the <class>Random\Engine\Secure</class> engine.
  
  PHP provides several <class>Random\Engine</class>s out of the box to accomodate different use-cases. The
  <class>Random\Engine\Secure</class> engine that is backed by a CSPRNG is the recommended safe default choice,
  unless the application requires either reproducible sequences or very high performance.


id: Random\Engine::generate
type: function
doc:
<comment>Description:</comment>
  Generates randomness
  
  Returns randomness and advances the algorithm’s state by one step.
  
  The randomness is represented by a binary string containing random bytes. This representation
  allows to unambiguously interpret the random bits generated by the algorithm, for example to
  accomodate different output sizes used by different algorithms.
  
  Algorithms that natively operate on integer values should return the integer in little-endian byte
  order, for example by leveraging the <strong>pack()</strong> function with the <return>P</return> format code. The high-level
  interface provided by the <class>Random\Randomizer</class> will interpret the returned random bytes as unsigned
  little-endian integers if a numeric representation is required.
  
  It is strongly recommended that each bit of the returned string is uniformly and independently
  selected, as some applications require randomness based on the bit-level to work correctly. For
  example linear congruential generators often generate lower-quality randomness for the less
  significant bits of the return integer value and thus would not be appropriate for applications
  that require bit-level randomness.

<comment>Return:</comment>
  <info>string</info>  A non-empty string containing random bytes.
          
          The <class>Random\Randomizer</class> works with unsigned 64 bit integers internally. If the returned
          string contains more than 64 bit (8 byte) of randomness the exceeding bytes will be
          ignored. Other applications may be able to process more than 64 bit at once.


id: Random\Engine\Mt19937::__construct
type: function
doc:
<comment>Description:</comment>
  Constructs a new Mt19937 engine
  
  Because the Mt19937 (“Mersenne Twister”) engine accepts only a single 32 bit integer as the seed,
  the number of possible random sequences is limited to just 232 (i.e. 4,294,967,296), despite
  Mt19937’s huge period of 219937-1.
  
  When relying on either implicit or explicit random seeding, duplications will appear much earlier.
  Duplicated seeds are expected with 50% probability after less than 80,000 randomly generated seeds
  according to the birthday problem. A 10% probability of a duplicated seed happens after randomly
  generating roughly 30,000 seeds.
  
  This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with
  more than a negligible probability. If reproducible seeding is required, both the
  <class>Random\Engine\Xoshiro256StarStar</class> and <class>Random\Engine\PcgOneseq128XslRr64</class> engines support much larger
  seeds that are unlikely to collide randomly. If reproducibility is not required, the
  <class>Random\Engine\Secure</class> engine provides cryptographically secure randomness.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>int|null</info>  <strong>$seed</strong>  Fills the state with values generated with a linear congruential generator that
                   was seeded with <strong>$seed</strong> interpreted as an unsigned 32 bit integer.
                   
                   If <strong>$seed</strong> is omitted or <info>null</info>, a random unsigned 32 bit integer will be used.
  <info>int</info>       <strong>$mode</strong>  Use one of the following constants to specify the implementation of the algorithm
                   to use. <info>MT_RAND_MT19937</info>: The correct Mt19937 implementation. <info>MT_RAND_PHP</info>: An
                   incorrect implementation for backwards compatibility with <strong>mt_srand()</strong> prior to PHP
                   7.1.0.
                   
                   This feature has been
                   DEPRECATED as of PHP 8.3.0. Relying on this feature
                   is highly discouraged.


id: Random\Engine\Mt19937::__debugInfo
type: function
doc:
<comment>Description:</comment>
  Returns the internal state of the engine
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>array</info>  


id: Random\Engine\Mt19937::__serialize
type: function
doc:
<comment>Description:</comment>
  Serializes the Mt19937 object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>array</info>  


id: Random\Engine\Mt19937::__unserialize
type: function
doc:
<comment>Description:</comment>
  Deserializes the data parameter into a Mt19937 object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  

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


id: Random\Engine\Mt19937::generate
type: function
doc:
<comment>Description:</comment>
  Generate 32 bits of randomness
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  A string representing an unsigned 32 bit integer in little-endian order.


id: Random\Engine\PcgOneseq128XslRr64
type: class
doc:
<comment>Description:</comment>
  Implements a Permuted congruential generator (PCG) with 128 bits of state, XSL and RR output
  transformations, and 64 bits of output.


id: Random\Engine\PcgOneseq128XslRr64::__construct
type: function
doc:
<comment>Description:</comment>
  Constructs a new PCG Oneseq 128 XSL RR 64 engine
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string|int|null</info>  <strong>$seed</strong>  How the internal 128 bit (16 byte) state consisting of one unsigned 128
                          bit integer is seeded depends on the type used as the <strong>$seed</strong>.
                          TypeDescripción<info>null</info> Fills the state with 16 random bytes generated using
                          the CSPRNG. <info>int</info> Fills the state by setting the state to <return>0</return>, advancing the
                          engine one step, adding the value of <strong>$seed</strong> interpreted as an unsigned 64
                          bit integer, and advancing the engine another step. <info>string</info> Fills the state
                          by interpreting a 16 byte <info>string</info> as a little-endian unsigned 128 bit
                          integer.


id: Random\Engine\PcgOneseq128XslRr64::__serialize
type: function
doc:
<comment>Description:</comment>
  Serializes the PcgOneseq128XslRr64 object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>array</info>  


id: Random\Engine\PcgOneseq128XslRr64::__unserialize
type: function
doc:
<comment>Description:</comment>
  Deserializes the data parameter into a PcgOneseq128XslRr64 object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  

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


id: Random\Engine\PcgOneseq128XslRr64::generate
type: function
doc:
<comment>Description:</comment>
  Generate 64 bits of randomness
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  A string representing an unsigned 64 bit integer in little-endian order.


id: Random\Engine\PcgOneseq128XslRr64::jump
type: function
doc:
<comment>Description:</comment>
  Efficiently move the engine ahead multiple steps
  
  Moves the algorithm’s state ahead by the number of steps given by <strong>$advance</strong>, as if
  <strong>Random\Engine\PcgOneseq128XslRr64::generate()</strong> was called that many times.

<comment>Param:</comment>
  <info>int</info>  <strong>$advance</strong>  The number of steps to move ahead; must be <return>0</return> or greater.

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


id: Random\Engine\Secure
type: class
doc:
<comment>Description:</comment>
  Generates cryptographically secure randomness using the operating system’s CSPRNG.
  
  The randomness generated by this <class>Random\Engine</class> is suitable for all applications, including the
  generation of long-term secrets, such as encryption keys.
  
  The <class>Random\Engine\Secure</class> engine is the recommended safe default choice, unless the application
  requires either reproducible sequences or very high performance.


id: Random\Engine\Secure::generate
type: function
doc:
<comment>Description:</comment>
  Generate cryptographically secure randomness
  
  Returns cryptographically secure randomness.
  
  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>.

<comment>Return:</comment>
  <info>string</info>  A string containing <info>PHP_INT_SIZE</info> cryptographically secure random bytes.


id: Random\Engine\Xoshiro256StarStar::__construct
type: function
doc:
<comment>Description:</comment>
  Constructs a new xoshiro256** engine
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>string|int|null</info>  <strong>$seed</strong>  How the internal 256 bit (32 byte) state consisting of four unsigned 64
                          bit integers is seeded depends on the type used as the <strong>$seed</strong>.
                          TypeDescripción<info>null</info> Fills the state with 32 random bytes generated using
                          the CSPRNG. <info>int</info> Fills the state with four consecutive values generated
                          with the SplitMix64 algorithm that was seeded with <strong>$seed</strong> interpreted as an
                          unsigned 64 bit integer. <info>string</info> Fills the state by interpreting a 32 byte
                          <info>string</info> as four little-endian unsigned 64 bit integers.


id: Random\Engine\Xoshiro256StarStar::__serialize
type: function
doc:
<comment>Description:</comment>
  Serializes the Xoshiro256StarStar object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>array</info>  


id: Random\Engine\Xoshiro256StarStar::__unserialize
type: function
doc:
<comment>Description:</comment>
  Deserializes the data parameter into a Xoshiro256StarStar object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  

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


id: Random\Engine\Xoshiro256StarStar::jump
type: function
doc:
<comment>Description:</comment>
  Efficiently move the engine ahead by 2^128 steps
  
  Moves the algorithm’s state ahead by 2128 steps, as if
  <strong>Random\Engine\Xoshiro256StarStar::generate()</strong> was called 2128 times.
  
  The purpose of a jump is to facilitate the creation of a new <class>Random\Engine\Xoshiro256StarStar</class>
  engine from an existing seeded <class>Random\Engine\Xoshiro256StarStar</class> engine. The seeded engine acts as
  a blueprint, which can be cloned and repeatedly jumped to create 2128 non-overlapping sequences
  with 2128 values each.

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

<comment>See Also:</comment>
   * <strong>Random\Engine\Xoshiro256StarStar::jumpLong()</strong>


id: Random\Engine\Xoshiro256StarStar::jumpLong
type: function
doc:
<comment>Description:</comment>
  Efficiently move the engine ahead by 2^192 steps
  
  Moves the algorithm’s state ahead by 2192 steps, as if
  <strong>Random\Engine\Xoshiro256StarStar::generate()</strong> was called 2192 times.
  
  The purpose of a long jump is to facilitate the creation of a new <class>Random\Engine\Xoshiro256StarStar</class>
  engine from an existing seeded <class>Random\Engine\Xoshiro256StarStar</class> engine. The seeded engine acts as
  a blueprint, which can be cloned and repeatedly jumped to create 264 non-overlapping sequences
  with 2192 values each.
  
  Long jumping may be combined with <strong>Random\Engine\Xoshiro256StarStar::jump()</strong>ing to further split
  each of the 264 sequences generated by long jumping, into 264 sequences of 2128 values each.

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

<comment>See Also:</comment>
   * <strong>Random\Engine\Xoshiro256StarStar::jump()</strong>


id: Random\RandomError
type: class
doc:
<comment>Description:</comment>
  Indicates that the used <class>Random\Engine</class> is broken, e.g. because it is severely biased.


id: Random\Randomizer
type: class
doc:
<comment>Description:</comment>
  Provides a high-level API to the randomness provided by an <class>Random\Engine</class>.


id: Random\Randomizer::__construct
type: function
doc:
<comment>Description:</comment>
  Constructs a new Randomizer
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>Random\Engine|null</info>  <strong>$engine</strong>  The <class>Random\Engine</class> to use to generate randomness.
                               
                               If <strong>$engine</strong> is omitted or <info>null</info>, a new <class>Random\Engine\Secure</class> object will
                               be used.


id: Random\Randomizer::__serialize
type: function
doc:
<comment>Description:</comment>
  Serializes the Randomizer object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>array</info>  


id: Random\Randomizer::__unserialize
type: function
doc:
<comment>Description:</comment>
  Deserializes the data parameter into a Randomizer object
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  

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


id: Random\Randomizer::getBytes
type: function
doc:
<comment>Description:</comment>
  Get 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.

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

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

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


id: Random\Randomizer::getBytesFromString
type: function
doc:
<comment>Description:</comment>
  Get random bytes from a source string
  
  Generates a string containing uniformly selected random bytes from the input <strong>$string</strong> with the
  requested <strong>$length</strong>.
  
  The chance for a byte to be selected is proportional to its share of the input <strong>$string</strong>. If each
  byte occurs the same amount of times, each byte is equally likely to be selected.

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

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the requested number of random bytes taken from the input <strong>$string</strong>.

<comment>See Also:</comment>
   * Random\Randomizer::getBytes


id: Random\Randomizer::getFloat
type: function
doc:
<comment>Description:</comment>
  Get a uniformly selected float
  
  Returns a uniformly selected, equidistributed float from a requested interval.
  
  Due to the limited precision, not all real numbers can be exactly represented as a floating point
  number.
   If a number cannot be represented exactly, it is rounded to the nearest representable exact
  value.
   Furthermore, floats are not equally dense across the whole number line.
   Because floats use a binary exponent, the distance between two neighboring floats doubles at each
  power of two.
   In other words: There are the same number of representable floats between <return>1.0</return> and <return>2.0</return> as they are
  between <return>2.0</return> and <return>4.0</return>, <return>4.0</return> and <return>8.0</return>, <return>8.0</return> and <return>16.0</return>, and so on.
  
  Randomly sampling an arbitrary number within the requested interval, for example by dividing two
  integers, might result in a biased distribution for this reason.
   The necessary rounding will cause some floats to be returned more often than others, especially
  around powers of two when the density of floats changes.
  
  Random\Randomizer::getFloat implements an algorithm that will return a uniformly selected float
  from the largest possible set of exactly representable and equidistributed floats within the
  requested interval.
   The distance between the selectable floats (“step size”) matches the distance between the floats
  with the lowest density, i.e. the distance between floats at interval boundary with the larger
  absolute value.
   This means that not all representable floats within a given interval may be returned if the
  interval crosses one or more powers of two.
   Stepping will start from the interval boundary with the larger absolute value to ensure the steps
  align with the exactly representable floats.
  
  Closed interval boundaries will always be included in the set of selectable floats.
   Thus, if the size of the interval is not an exact multiple of the step size and the boundary with
  the smaller absolute value is a closed boundary, the distance between that boundary and its
  nearest selectable float will be smaller than the step size.
  
  Post-processing the returned floats is likely going to break the uniform equidistribution, because
  the intermediate floats within a mathematical operation are experiencing implicit rounding.
   The requested interval should match the desired interval as closely as possible and rounding
  should only be performed as an explicit operation right before displaying the selected number to a
  user.
  
  To give an example of how the algorithm works, consider a floating point representation that uses
  a 3-bit mantissa.
   This representation is capable of representing 8 different floating point values between
  consecutive powers of two.
   This means that between <return>1.0</return> and <return>2.0</return> all steps of size <return>0.125</return> are exactly representable and between
  <return>2.0</return> and <return>4.0</return> all steps of size <return>0.25</return> are exactly representable.
   In reality PHP’s floats use a 52-bit mantissa and can represent 252 different values between each
  power of two.
   This means that <return>1.0</return><return>1.125</return><return>1.25</return><return>1.375</return><return>1.5</return><return>1.625</return><return>1.75</return><return>1.875</return><return>2.0</return><return>2.25</return><return>2.5</return><return>2.75</return><return>3.0</return><return>3.25</return><return>3.5</return><return>3.75</return><return>4.0</return> are the exactly
  representable floats between <return>1.0</return> and <return>4.0</return>.
  
  Now consider that $randomizer-&gt;getFloat(1.625, 2.5, IntervalBoundary::ClosedOpen) is called,
  i.e. a random float starting at <return>1.625</return> until, but not including, <return>2.5</return> is requested.
   The algorithm first determines the step size at the boundary with the larger absolute value
  (<return>2.5</return>). The step size at that boundary is <return>0.25</return>.
  
  Note that the size of the requested interval is <return>0.875</return>, which is not an exact multiple of <return>0.25</return>.
   If the algorithm would start stepping at the lower bound <return>1.625</return>, it would encounter <return>2.125</return>, which
  is not exactly representable and would experience implicit rounding.
   Thus the algorithm starts stepping at the upper boundary <return>2.5</return>.
   The selectable values are: <return>2.25</return><return>2.0</return><return>1.75</return><return>1.625</return>
   <return>2.5</return> is not included, because the upper boundary of the requested interval is an open boundary.
   <return>1.625</return> is included, even though its distance to the nearest value <return>1.75</return> is <return>0.125</return>, which is smaller
  than the previously determined step size of <return>0.25</return>.
   The reason for that is that the requested interval is closed at the lower boundary (<return>1.625</return>) and
  closed boundaries are always included.
  
  Finally the algorithm uniformly selects one of the four selectable values at random and returns
  it.
  
  In the previous example, there are eight representable floating point numbers between each
  sub-interval delimited by a power of two.
   To give an example why dividing two integers would not work well to generate a random float,
  consider that there are 16 equidistributed floating point numbers in the right-open interval from
  <return>0.0</return> until, but not including, <return>1.0</return>. Half of them are the eight exactly representable values between
  <return>0.5</return> and <return>1.0</return>, the other half are the values between <return>0.0</return> and <return>1.0</return> that the step size of <return>0.0625</return>.
   These can easily be generated by dividing a random integer between <return>0</return> and <return>15</return> by <return>16</return> to obtain one
  of:
   <return>0.0</return><return>0.0625</return><return>0.125</return><return>0.1875</return><return>0.25</return><return>0.3125</return><return>0.375</return><return>0.4375</return><return>0.5</return><return>0.5625</return><return>0.625</return><return>0.6875</return><return>0.75</return><return>0.8125</return><return>0.875</return><return>0.9375</return>
  
  This random float could be scaled to right-open interval from <return>1.625</return> until, but not including, <return>2.75</return>
  by multiplying it with the size of the interval (<return>0.875</return>) and adding the minimum <return>1.625</return>. This
  so-called affine transformation would result in the values:
   <return>1.625</return> rounded to <return>1.625</return><return>1.679</return> rounded to <return>1.625</return><return>1.734</return> rounded to <return>1.75</return><return>1.789</return> rounded to <return>1.75</return><return>1.843</return>
  rounded to <return>1.875</return><return>1.898</return> rounded to <return>1.875</return><return>1.953</return> rounded to <return>2.0</return><return>2.007</return> rounded to <return>2.0</return><return>2.062</return> rounded to
  <return>2.0</return><return>2.117</return> rounded to <return>2.0</return><return>2.171</return> rounded to <return>2.25</return><return>2.226</return> rounded to <return>2.25</return><return>2.281</return> rounded to <return>2.25</return><return>2.335</return>
  rounded to <return>2.25</return><return>2.390</return> rounded to <return>2.5</return><return>2.445</return> rounded to <return>2.5</return>
   Note how the upper boundary of <return>2.5</return> would be returned, despite being an open boundary and thus
  being excluded.
   Also note how <return>2.0</return> and <return>2.25</return> are twice as likely to be returned compared to the other values.

<comment>Param:</comment>
  <info>float</info>                    <strong>$min</strong>       The lower bound of the interval.
  <info>float</info>                    <strong>$max</strong>       The upper bound of the interval.
  <info>Random\IntervalBoundary</info>  <strong>$boundary</strong>  Specifies whether the interval boundaries are possible return
                                      values.

<comment>Return:</comment>
  <info>float</info>  A uniformly selected, equidistributed float from the interval specified by <strong>$min</strong>, <strong>$max</strong>, and
         <strong>$boundary</strong>.
          Whether <strong>$min</strong> and <strong>$max</strong> are possible return values depends on the value of <strong>$boundary</strong>.

<comment>See Also:</comment>
   * Random\Randomizer::nextFloat
   * Random\Randomizer::getInt


id: Random\Randomizer::getInt
type: function
doc:
<comment>Description:</comment>
  Get a uniformly selected integer
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<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 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>
   * <strong>random_int()</strong>
   * Random\Randomizer::getFloat


id: Random\Randomizer::nextFloat
type: function
doc:
<comment>Description:</comment>
  Get a float from the right-open interval [0.0, 1.0)
  
  Returns a uniformly selected, equidistributed float from the right-open interval from <return>0.0</return> until,
  but not including, <return>1.0</return>.
  
  The chance for returned float to be within a given right-open sub-interval is proportial to the
  size of the sub-interval.
   This means that the chance for a float to be less than <return>0.5</return> is 50 %, which is equal to the chance
  for a float to be at least <return>0.5</return>.
   Likewise the chance for a float to be within the right-open interval from <return>0.2</return> until, but not
  including, <return>0.25</return> is exactly 5 %.
  
  This property makes it easy to leverage Random\Randomizer::nextFloat to generate a random boolean
  with a given chance by checking if the returned float is less than a given chance.
  
  The domain of the returnable floats of Random\Randomizer::nextFloat is identical to that of
  Randomizer::getFloat(0.0, 1.0, IntervalBoundary::ClosedOpen).
  
  The internal implementation of Random\Randomizer::nextFloat is more efficient.
  
  Scaling the return value to a different interval using multiplication or addition (a so-called
  affine transformation) might result in a bias in the resulting value as floats are not equally
  dense across the number line. As not all values can be exactly represented by a float, the result
  of the affine transformation might also result in values outside of the requested interval due to
  implicit rounding.
   An in-depth explanation of the problems with the affine transformation is given in the
  documentation for Random\Randomizer::getFloat.
  
  Use Random\Randomizer::getFloat to generate a random float within an arbitrary interval. Use
  Random\Randomizer::getInt to generate a random integer within an arbitrary interval.

<comment>Return:</comment>
  <info>float</info>  A uniformly selected, equidistributed float from the right-open
         (<return>IntervalBoundary::ClosedOpen</return>) interval [0.0, 1.0).
          <return>0.0</return> is a possible return value, <return>1.0</return> is not.

<comment>See Also:</comment>
   * Random\Randomizer::getFloat


id: Random\Randomizer::nextInt
type: function
doc:
<comment>Description:</comment>
  Get a positive integer
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>int</info>  A positive integer between 0 and a maximum value depending on the number of bytes returned
       from Random\Engine::generate. The exact maximum can be calculated as 2$engine_bytes * 8 - 1 -
       1.


id: Random\Randomizer::pickArrayKeys
type: function
doc:
<comment>Description:</comment>
  Select random array keys
  
  Uniformly selects <strong>$num</strong> distinct array keys of the input <strong>$array</strong>.
  
  Each key of the input <strong>$array</strong> is equally likely to be returned.
  
  The selection of the array keys depends on the internal structure of the input <strong>$array</strong>. The
  returned array keys might be different for two equal input arrays and two <class>Random\Engine</class>s with
  identical state, depending on how the input arrays have been created.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The array whose array keys are selected.
  <info>int</info>    <strong>$num</strong>    The number of array keys to return; must be between <return>1</return> and the number of elements in
                 <strong>$array</strong>.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> containing <strong>$num</strong> distinct array keys of <strong>$array</strong>.
         
         The returned <info>array</info> will be a list (<strong>array_is_list()</strong>). It will be a subset of the <info>array</info>
         returned by <strong>array_keys()</strong>.

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


id: Random\Randomizer::shuffleArray
type: function
doc:
<comment>Description:</comment>
  Get a permutation of an array
  
  Returns a uniformly selected permutation of the input <strong>$array</strong>.
  
  Each possible permutation of the input <strong>$array</strong> is equally likely to be returned.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  The <info>array</info> whose values are shuffled.
                 
                 The input <info>array</info> will not be modified.

<comment>Return:</comment>
  <info>array</info>  A permutation of the values of <strong>$array</strong>.
         
         Array keys of the input <strong>$array</strong> will not be preserved; the returned <info>array</info> will be a list
         (<strong>array_is_list()</strong>).


id: Random\Randomizer::shuffleBytes
type: function
doc:
<comment>Description:</comment>
  Get a byte-wise permutation of a string
  
  Returns a uniformly selected permutation of the input <strong>$bytes</strong>.
  
  Each possible permutation of the input <strong>$bytes</strong> is equally likely to be returned.

<comment>Param:</comment>
  <info>string</info>  <strong>$bytes</strong>  The <info>string</info> whose bytes are shuffled.
                  
                  The input <info>string</info> will not be modified.

<comment>Return:</comment>
  <info>string</info>  A permutation of the bytes of <strong>$bytes</strong>.


id: RarArchive
type: class
doc:
<comment>Description:</comment>
  Esta clase representa un archivo RAR que puede estar formado por varios volúmenes (partes) y que
  contiene una serie de entradas RAR (por ejemplo: archivos, directorios y otros objetos especiales,
  como enlaces simbólicos).
  
  Los objetos de esta clase puede ser atravesado, dando las entradas almacenadas en el archivo RAR
  respectivamente. Estas entradas también pueden ser obtenidas mediante RarArchive::getEntry y
  RarArchive::getEntries.


id: RarArchive::__toString
type: function
doc:
<comment>Description:</comment>
  Obtener representación de texto
  
  Proporciona una representación de cadena para este objeto <info>RarArchive</info>. Esta actualmente muestra la
  ruta completa del volumen de archivo que fue abierto y si el recurso es válido o ya estaba cerrado
  a través de una llamada a RarArchive::close.
  
  Este método debe ser utilizado sólo para propósitos de depuración, ya que no existen garantías en
  cuanto a la  información que contiene el resultado o cómo esta es formateada.

<comment>Return:</comment>
  <info>string</info>  Una representación textual de este objeto <info>RarArchive</info>. El contenido de esta representación
          no es especificado.


id: RarArchive::close
type: function
doc:
<comment>Description:</comment>
  Cerrar archivo RAR y liberar todos los recursos
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Cerar archivo RAR y liberar todos los recursos asignados.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>  Un objeto <info>RarArchive</info>, abierto con <strong>rar_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: RarArchive::getComment
type: function
doc:
<comment>Description:</comment>
  Obtener comentarios de texto desde el archivo RAR
  
  Estilo orientado a objetos (method):
  
  Estilo por procedimientos:
  
  Obtener (global) comentario almacenado en el archivo RAR. Este puede ser de hasta 64 KiB de
  longitud.
  
  Esta extensión no es compatible con los comentarios en el nivel de entrada.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>  Un objeto <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.

<comment>Return:</comment>
  <info>string</info>  Devuelve el comentario o <info>null</info> si no hay ninguno.
          
          RAR no tiene actualmente soporte para comentarios unicode. La codificación de los
          resultados de esta función no es especificado, pero esta debe ser probablemente
          Windows-1252.


id: RarArchive::getEntries
type: function
doc:
<comment>Description:</comment>
  Obtener la lista completa de entradas del archivo RAR
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Obtener la lista de entradas (archivos y directorios) de el archivo RAR.
  
  Si el archivo tiene  entradas con el mismo nombre, este método, junto con <info>RarArchive</info> <return>foreach</return>
  iteraciona y otorga un acceso array-like con índices numéricos, únicos para acceder a todas las
  entradas (por ejemplo, RarArchive::getEntry y el <return>rar://</return> wrapper son insuficientes).

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>  Un objeto <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.

<comment>Return:</comment>
  <info>array</info>  <strong>rar_list()</strong> devuelve array de objetos <info>RarEntry</info> o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * RarArchive::getEntry
   * <return>rar://</return> wrapper


id: RarArchive::getEntry
type: function
doc:
<comment>Description:</comment>
  Obtener el objeto entrada desde el archivo RAR
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Obtener el objeto entrada (archivo o directorio) desde el archivo RAR.
  
  También puede obtener objetos de entrada utilizando RarArchive::getEntries.
  
  Tenga en cuenta que un archivo RAR puede tener varias entradas con el mismo nombre; este método
  recuperará sólo el primero.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>    Un objeto <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.
  <info>string</info>      <strong>$entryname</strong>  Ruta a la entrada dentro del archivo RAR.
                          
                          La ruta debe ser la misma devuelta por RarEntry::getName.

<comment>Return:</comment>
  <info>RarEntry</info>  Devuelve el objeto <info>RarEntry</info> encontrado  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * RarArchive::getEntries
   * <return>rar://</return> wrapper


id: RarArchive::isBroken
type: function
doc:
<comment>Description:</comment>
  Comprobar si un archivo está dañado (incompleto)
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Esta función determina si un archivo está incompleto, por ejemplo, Si un volumen no se encuentra o
  un volumen está truncado.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>  Un objeto <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el archivo está dañado, <info>false</info> en caso contrario. Esta función puede también
        devolver <info>false</info> si el archivo pasado fue cerrado. La única manera para poder distinguir
        aparte ambos casos es habilitando y permitiendo excepciones con
        RarException::setUsingExceptions; sin embargo, esto debería ser innecesario, ya que un
        programa no debe funcionar con archivos cerrados.

<comment>See Also:</comment>
   * RarArchive::setAllowBroken


id: RarArchive::isSolid
type: function
doc:
<comment>Description:</comment>
  Comprueba si el archivo RAR es sólido
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Comprueba si el archivo RAR es sólido. La extracción individual de ficheros es más lenta en
  archivos sólidos.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>  La instancia del <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si el archivo es sólido, de lo contrario retorna <info>false</info>.


id: RarArchive::open
type: function
doc:
<comment>Description:</comment>
  Abre un archivo RAR
  
  Estilo orientado a objetos (método):
  
  Estilo por procedimientos:
  
  Abre un archivo RAR especificado y devuelve la instancia <info>RarArchive</info> que lo representa.
  
  Si el archivo a abrir esta dividido en volúmenes, se deberá pasar la ruta del primer volúmen como
  parámetro de la función. De lo contrario, no todos los archivos se mostraran.

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>         Ruta del archivo Rar.
  <info>string</info>    <strong>$password</strong>         Contraseña en texto plano, si fuera necesario descifrar la cabecera
                              del archivo. También se utilizará por defecto si hay archivos
                              encriptados encontrados. Tenga en cuenta que los archivos pueden
                              poseer diferentes contraseñas en cuanto a las cabeceras y entre ellos.
  <info>callable</info>  <strong>$volume_callback</strong>  Una función que recibe como parámetro la ruta del volúmen que no fue
                              encontrado y retorna una cadena con la ruta correcta para dicho
                              archivo o <info>null</info> si el volúmen no existe o no es conocido. El
                              programador debería asegurar que la función pasada no cause bucles, ya
                              que esta función es llamada repetidas veces si la ruta devuelta en una
                              llamada previa no corresponde con el volúmen solicitado. Especificando
                              este parámetro se omite la notice que se emitiría cuando un volúmen no
                              es encontrado; una implementación que solo devuelva <info>null</info>  puede, por
                              lo tanto, utilizarce para omitir dichos notices.

<comment>Return:</comment>
  <info>RarArchive</info>  Devuelve una instancia del <info>RarArchive</info> solicitado  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * <return>rar://</return> wrapper


id: RarArchive::setAllowBroken
type: function
doc:
<comment>Description:</comment>
  Determina si la apertura de archivos dañados se permite
  
  Estilo orientado a objetos (method):
  
  Estilo por procedimientos:
  
  Este método determina si los archivos dañados pueden ser leidos o todas las operaciones que
  intenten extraer el archivo de las entradas producirán un error. Los archivos rotos son archivos
  para los cuales ningún error es detectado cuando el archivo es abierto pero un error se produce
  cuando leemos las entradas.

<comment>Param:</comment>
  <info>RarArchive</info>  <strong>$rarfile</strong>       Un objeto <info>RarArchive</info>, abierto con <strong>rar_open()</strong>.
  <info>bool</info>        <strong>$allow_broken</strong>  Determina si se permite la lectura de archivos dañados (<info>true</info>) o no
                             (<info>false</info>).

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info>  o <info>false</info> en caso de error. Sólo se producirá un error si el archivo  ya fue
        cerrado.

<comment>See Also:</comment>
   * RarArchive::isBroken


id: RarEntry
type: class
doc:
<comment>Description:</comment>
  Una entrada RAR, representa un directorio o un archivo comprimido dentro de un archivo RAR.


id: RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV
type: constant
doc:
<comment>Description:</comment>
  Dispositivo de tipo bloque Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para
  ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y con la
  constante <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>.


id: RarEntry::ATTRIBUTE_UNIX_CHAR_DEV
type: constant
doc:
<comment>Description:</comment>
  Dispositivo de tipo carácter Unix tendrá atributos cuyos últimos cuatro bits tienen este valor.
  Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y
  con la constante <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>.


id: RarEntry::ATTRIBUTE_UNIX_DIRECTORY
type: constant
doc:
<comment>Description:</comment>
  Directorios Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado
  con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y con la constante
  <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>. Véase también RarEntry::isDirectory, que también trabaja
  con entradas que fueron añadidas en otros sistemas operativos.


id: RarEntry::ATTRIBUTE_UNIX_FIFO
type: constant
doc:
<comment>Description:</comment>
  FIFOs Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y con la constante
  <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>.


id: RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET
type: constant
doc:
<comment>Description:</comment>
  Máscara para aislar a los últimos cuatro bits (nibble) de atributos UNIX (_S_IFMT, el tipo de
  máscara de archivo). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo
  anfitrión es UNIX y con las constantes <info>RarEntry::ATTRIBUTE_UNIX_FIFO</info>,
  <info>RarEntry::ATTRIBUTE_UNIX_CHAR_DEV</info>, <info>RarEntry::ATTRIBUTE_UNIX_DIRECTORY</info>,
  <info>RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV</info>, <info>RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE</info>,
  <info>RarEntry::ATTRIBUTE_UNIX_SYM_LINK</info> and <info>RarEntry::ATTRIBUTE_UNIX_SOCKET</info>.


id: RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es grupo ejecutable. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_GROUP_READ
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es grupo leible. Para ser utilizado con RarEntry::getAttr
  en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es grupo escribible. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es propietario ejecutable. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_OWNER_READ
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es propietario leible. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada UNIX que es propietario escribible. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE
type: constant
doc:
<comment>Description:</comment>
  Archivos regular Unix (no directorios) tendrá atributos cuyos últimos cuatro bits tienen este
  valor. Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es
  UNIX y con la constante <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>. Véase también
  RarEntry::isDirectory, ue también trabaja con entradas que fueron añadidas en otros sistemas
  operativos.


id: RarEntry::ATTRIBUTE_UNIX_SETGID
type: constant
doc:
<comment>Description:</comment>
  Bit que representa el atributo UNIX setgid. Para ser utilizado con RarEntry::getAttr en entradas
  cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_SETUID
type: constant
doc:
<comment>Description:</comment>
  Bit que representa el atributo UNIX setuid. Para ser utilizado con RarEntry::getAttr en entradas
  cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_SOCKET
type: constant
doc:
<comment>Description:</comment>
  Sockets Unix will tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado
  con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y con la constante
  <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>.


id: RarEntry::ATTRIBUTE_UNIX_STICKY
type: constant
doc:
<comment>Description:</comment>
  Bit que representa el sticky bit UNIX. Para ser utilizado con RarEntry::getAttr en entradas cuyo
  sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_SYM_LINK
type: constant
doc:
<comment>Description:</comment>
  Enlace simbólico Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser
  utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX y con la
  constante <info>RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET</info>.


id: RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada que es ejecutable en el mundo UNIX. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_WORLD_READ
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada que es leible en el mundo UNIX. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada que es escribible en el mundo UNIX. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es UNIX.


id: RarEntry::ATTRIBUTE_WIN_ARCHIVE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de archivo. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_COMPRESSED
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo comprimido (sólo NTFS). Para ser
  utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_DEVICE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de dispositivo. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_DIRECTORY
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de directorio (entrada es un
  directorio). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión
  es Microsoft Windows. Véase también RarEntry::isDirectory, que también trabaja con entradas que no
  fueron añadidas en WinRAR.


id: RarEntry::ATTRIBUTE_WIN_ENCRYPTED
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo cifrado (sólo NTFS). Para ser utilizado
  con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_HIDDEN
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo oculto. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_NORMAL
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de archivo normal (entrada NO es un
  directorio). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión
  es Microsoft Windows. Véase también RarEntry::isDirectory, que también trabaja con entradas que no
  fueron añadidas en WinRAR.


id: RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de contenido no indexado (entrada deberá
  ser indexada). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo
  anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_OFFLINE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo fuera de línea (entrada es desconectada
  y no accesible). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo
  anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_READONLY
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de sólo lectura. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_REPARSE_POINT
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo punto de re-análisis (entrada es un
  punto de re-análisis NTFS, por ejemplo, un directorio enlace o un sistema de montaje de archivos).
  Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft
  Windows.


id: RarEntry::ATTRIBUTE_WIN_SPARSE_FILE
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo de archivo disperso (archivo es un
  archivo disperso NTFS). Para ser utilizado con RarEntry::getAttr en entradas cuyo sistema
  operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_SYSTEM
type: constant
doc:
<comment>Description:</comment>
  Bits que representa una entrada de Windows con un atributo del sistema. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_TEMPORARY
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo temporal. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::ATTRIBUTE_WIN_VIRTUAL
type: constant
doc:
<comment>Description:</comment>
  Bit que representa una entrada de Windows con un atributo virtual. Para ser utilizado con
  RarEntry::getAttr en entradas cuyo sistema operativo anfitrión es Microsoft Windows.


id: RarEntry::HOST_BEOS
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, un Sistema Operativo BeOS
  fue utilizado para añadir esta entrada. Destinado para sustituir a <info>RAR_HOST_BEOS</info>.


id: RarEntry::HOST_MACOS
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, un Sistema Operativo Mac
  fue utilizado para añadir esta entrada.


id: RarEntry::HOST_MSDOS
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, MS-DOS fue utilizado para
  añadir esta entrada. Utilizar en lugar de <info>RAR_HOST_MSDOS</info>.


id: RarEntry::HOST_OS2
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, OS/2 fue utilizado para
  añadir esta entrada. Destinado para sustituir a <info>RAR_HOST_OS2</info>.


id: RarEntry::HOST_UNIX
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, un Sistema Operativo UNIX
  no especificado fue utilizado para añadir esta entrada. Destinado para sustituir a <info>RAR_HOST_UNIX</info>.


id: RarEntry::HOST_WIN32
type: constant
doc:
<comment>Description:</comment>
  Si el valor devuelto por RarEntry::getHostOs es igual a esta constante, Microsoft Windows fue
  utilizado para añadir esta entrada. Destinado para sustituir a <info>RAR_HOST_WIN32</info>.


id: RarEntry::__toString
type: function
doc:
<comment>Description:</comment>
  Obtener texto representación de entrada
  
  RarEntry::__toString devuelve una representación textual de esta entrada. Esta incluye si la
  entrada es un archivo o un directorio (enlaces simbólicos y otros objetos especiales serán
  tratados como archivos), el nombre UTF-8 de la entrada y su CRC. La forma y el contenido de esta
  representación puede cambiar en el futuro, así que no son fiables.

<comment>Return:</comment>
  <info>string</info>  Una representación textual de la entrada.


id: RarEntry::extract
type: function
doc:
<comment>Description:</comment>
  Extraer entrada del archivo
  
  RarEntry::extract extrae los datos de entrada. Esto creará un nuevo archivo en el  <strong>$dir</strong>
  especificado con el mismo nombre que el nombre de la entrada, a menos que el segundo argumento sea
  especificado. Siga leyendo más abajo para obtener mayor información.

<comment>Param:</comment>
  <info>string</info>  <strong>$dir</strong>            Ruta al directorio donde los archivos deben ser extraídos. Este parámetro
                          es considerado si y sólo si no es <strong>$filepath</strong>. Si ambos  parámetros están
                          vacíos se intentará una extracción en el directorio actual.
  <info>string</info>  <strong>$filepath</strong>       Ruta (relativa o absoluta) que contiene el directorio y el nombre del
                          archivo extraído. Este parámetro anula los parámetros <strong>$dir</strong> y el nombre del
                          archivo original.
  <info>string</info>  <strong>$password</strong>       La contraseña utilizada para cifrar esta entrada. Si la entrada no está
                          cifrada, este valor no se utilizará y puede ser omitido. Si se omite este
                          parámetro y la entrada está cifrada, la contraseña dada a <strong>rar_open()</strong>, será
                          utlizada. Si una contraseña incorrecta es dada, de forma explicita o
                          implicita via <strong>rar_open()</strong>, la comprobación CRC fallará y este método
                          fallará y devolverá <info>false</info>. Si no se da la contraseña y se requiere una,
                          este método fallará y devolverá <info>false</info>. Puede comprobar si una entrada está
                          cifrada con RarEntry::isEncrypted.
  <info>bool</info>    <strong>$extended_data</strong>  Si <info>true</info>, información extendida tales como NTFS ACLs e información
                          propietaria Unix será establecida en los archivos extraidos, siempre que
                          esta esté presente en el archivo.

<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>
   * RarEntry::getStream
   * <return>rar://</return> wrapper


id: RarEntry::getAttr
type: function
doc:
<comment>Description:</comment>
  Obtener los atributos de la entrada
  
  Devuelve los atributos dependientes del SO del archivo de entrada.

<comment>Return:</comment>
  <info>int</info>  Devuelve los atributos o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * RarEntry::getHostOs
   * Las constantes de <class>RarEntry</class>


id: RarEntry::getCrc
type: function
doc:
<comment>Description:</comment>
  Obtener el CRC de la entrada
  
  Devuelve una cadena hexadecimal representación de el CRC del archivo de entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve el CRC del archivo de entrada o <info>false</info> en caso de error.


id: RarEntry::getFileTime
type: function
doc:
<comment>Description:</comment>
  Devolver entrada última fecha de modificación
  
  Devuelve entrada última fecha modificación.

<comment>Return:</comment>
  <info>string</info>  Devuelve entrada última fecha de modificación como una cadena en formato  <return>YYYY-MM-DD
          HH:II:SS</return>, o <info>false</info> en caso de error.


id: RarEntry::getHostOs
type: function
doc:
<comment>Description:</comment>
  Obtener sistema operativo anfitrión del archivo de entrada
  
  Devuelve el código del sistema operativo anfitrión del archivo de entrada.

<comment>Return:</comment>
  <info>int</info>  Devuelve el código del sistema operativo anfitrión, o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * RarEntry::extract


id: RarEntry::getMethod
type: function
doc:
<comment>Description:</comment>
  Obtener método pack de la entrada
  
  RarEntry::getMethod devuelve el número del método utilizado cuando añadimos archivo actual de
  entrada.

<comment>Return:</comment>
  <info>int</info>  Devuelve el número de método o <info>false</info> en caso de error.


id: RarEntry::getName
type: function
doc:
<comment>Description:</comment>
  Obtener el nombre de la entrada
  
  Devuelve el nombre (con la ruta) de el archivo entrada.

<comment>Return:</comment>
  <info>string</info>  Devuelve el nombre de la entrada como una cadena, o <info>false</info> en caso de error.


id: RarEntry::getPackedSize
type: function
doc:
<comment>Description:</comment>
  Obtiene el tamaño empaquetado de la entrada
  
  Obtiene el tamaño empaquetado del archivo entrada.
  
  Tenga en cuenta que en las plataformas de 32 bits de longitud (que incluye Windows x64), el tamaño
  máximo devuelto está limitado a 2 GB. Compruebe la constante <info>PHP_INT_MAX</info>.

<comment>Return:</comment>
  <info>int</info>  Devuelve el tamaño empaquetado, o <info>false</info> en caso de error.


id: RarEntry::getStream
type: function
doc:
<comment>Description:</comment>
  Obtener manejador de archivo para entrada
  
  Devuelve un manejador de archivo que soporta operaciones de lectura. Este manejador proporciona
  descompresión al vuelo para esta entrada.
  
  El manejador no es invalidado por llamar a <strong>rar_close()</strong>.
  
  El flujo resultante no tiene verificación de integridad. En particular, archivo corrupto y
  descifrado con una clave errónea, no será detectado. Es responsabilidad del programador utilizar
  la entrada CRC para comprobar la integridad, si así lo desea.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  La contraseña utilizada para cifrar esta entrada. Si la entrada no está
                     cifrada, este valor no se utilizará y puede ser omitido. Si el parámetro es
                     omitido y la entrada está cifrada, la contraseña dada a <strong>rar_open()</strong>, será
                     utilizada. Si una contraseña incorrecta es dada, ya sea explícita o
                     implícitamente via <strong>rar_open()</strong>, teste método resultante de flujo producirá error
                     de salida. Si no se especifica la contraseña y se requiere una, este método
                     fallará y devolverá <info>false</info>. Puede comprobar si una entrada está cifrada con
                     RarEntry::isEncrypted.

<comment>Return:</comment>
  <info>resource</info>  El manejador de archivo  o <info>false</info> en caso de error.

<comment>See Also:</comment>
   * RarEntry::extract
   * <return>rar://</return> wrapper


id: RarEntry::getUnpackedSize
type: function
doc:
<comment>Description:</comment>
  Obtener el tamaño descomprimido de la entrada
  
  Obtiene el tamaño descomprimido del archivo entrada.
  
  Tenga en cuenta que en las plataformas de 32 bits de longitud (que incluye Windows x64), el tamaño
  máximo devueltos está limitado a 2 GB. Compruebe la constante <info>PHP_INT_MAX</info>.

<comment>Return:</comment>
  <info>int</info>  Devuelve el tamaño descomprimido, o <info>false</info> en caso de error.


id: RarEntry::getVersion
type: function
doc:
<comment>Description:</comment>
  Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada
  
  Devuelve la versión mínima del programa RAR (por ejemplo WinRAR) requerida para desempaquetar la
  entrada. Esta es codificada como 10 * version mayor + versión menor.

<comment>Return:</comment>
  <info>int</info>  Devuelve la versión o <info>false</info> en caso de error.


id: RarEntry::isDirectory
type: function
doc:
<comment>Description:</comment>
  Comprobar si una entrada representa un directorio
  
  Comprueba si una entrada representa un directorio.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la entrada es un directorio y <info>false</info> en caso contrario.


id: RarEntry::isEncrypted
type: function
doc:
<comment>Description:</comment>
  Comprobar si una entrada está cifrada
  
  Comprueba si el contenido de la entrada actual está cifrado.
  
  La contraseña utilizada puede variar entre los archivos dentro del mismo archivo RAR.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la entrada actual se encuentra cifrada y <info>false</info> en caso contrario.


id: RarException
type: class
doc:
<comment>Description:</comment>
  Esta clase sirve para dos propósitos: estas son el tipo de las excepciones lanzadas por la
  extensión RAR funciones y métodos y esto permite, a través de métodos estáticos consultar y
  definir el error y el comportamiento de la extensión, por ejemplo, si las excepciones son lanzadas
  o solamente se emiten advertencias.
  
  Los códigos de error que se utilizan los siguientes:
  
  -1 - error fuera de biblioteca UnRAR
  
  11 - memoria insuficiente
  
  12 - datos dañados
  
  13 - archivo dañado
  
  14 - formato desconocido
  
  15 - error de apertura de archivo
  
  16 - error al crear archivo
  
  17 - error al cerrar archivo
  
  18 - error de lectura
  
  19 - error de escritura
  
  20 - búfer demasiado pequeño
  
  21 - error RAR desconocido
  
  22 - contraseña requerida pero no especificada


id: RarException::isUsingExceptions
type: function
doc:
<comment>Description:</comment>
  Comprobar si el manejador de errores con excepciones está en uso
  
  Comprueba si las funciones RAR emitirán avisos y devolverán valores de error o si ellas lanzarán
  excepciones en la mayoría de las circunstancias (no incluye algunos errores de programación tales
  como pasar el tipo incorrecto de argumento).

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si las excepciones estan siendo utilizadas, <info>false</info> en caso contrario.

<comment>See Also:</comment>
   * RarException::setUsingExceptions


id: RarException::setUsingExceptions
type: function
doc:
<comment>Description:</comment>
  Activar y desactivar el manejador de errores con excepciones
  
  Si y sólo si el argumento es <info>true</info>, entonces, en lugar de emitir advertencias y devolver un valor
  especial indicando error cuando la biblioteca UnRAR encuentre un error, una excepción de tipo
  <info>RarException</info> será lanzada.
  
  Las excepciones también será lanzado para los siguientes errores, que se producen fuera de la
  biblioteca (su código de error será -1):
  
  intentar algunas operaciones en un objeto <info>RarArchive</info> cerrado o un objeto <info>RarEntry</info> relativo al
  primero;
  
  intentar obtener una entrada que no existe con RarArchive::getEntry.

<comment>Param:</comment>
  <info>bool</info>  <strong>$using_exceptions</strong>  Debe ser <info>true</info> para activar lanzamiento de excepciones, <info>false</info> para
                           descativarlo (el valor por defecto).

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

<comment>See Also:</comment>
   * RarException::isUsingExceptions


id: RecursiveArrayIterator
type: class
doc:
<comment>Description:</comment>
  Este iterador permite destruir y modificar valores y claves mientras se iteran arrays y objetos
  de la misma manera que con <info>ArrayIterator</info>. Adicionalmente es posible iterar la entrada  del
  iterador actual.


id: RecursiveArrayIterator::CHILD_ARRAYS_ONLY
type: constant
doc:
<comment>Description:</comment>
  Trata sólo los array (no objetos) como si tuvieran hijos para la itaración recursiva.


id: RecursiveArrayIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve un iterador para la entrada actual si este es un array o un object
  
  Devuelve un iterador interno para la entrada actual.

<comment>Return:</comment>
  <info>RecursiveArrayIterator</info>  Un iterador para la entrada actual, si este es un <info>array</info> o un <info>object</info>.

<comment>See Also:</comment>
   * <strong>RecursiveArrayIterator::hasChildren()</strong>


id: RecursiveArrayIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve si la entrada actual es un array o un objeto
  
  Devuelve si la entrada actual es un <info>array</info> o un <info>object</info>  para que un iterador puede ser obtenido a
  través de  RecursiveArrayIterator::getChildren.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la entrada actual es un <info>array</info> o un <info>object</info>,  en caso contrario <info>false</info>.

<comment>See Also:</comment>
   * <strong>RecursiveArrayIterator::getChildren()</strong>


id: RecursiveCachingIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construct
  
  Construye un nuevo <class>RecursiveCachingIterator</class>, que consiste en pasar un <strong>$iterator</strong>.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iterator</strong>  El iterador a ser usado.
  <info>int</info>       <strong>$flags</strong>     Las flags. Use <info>CALL_TOSTRING</info> para llamar a
                       RecursiveCachingIterator::__toString para cada elemento (por omisión), y/o
                       <info>CATCH_GET_CHILD</info> para capturar excepciones cuando se intenta obtener un hijo.

<comment>Return:</comment>
  <info>unknown</info>  La clase <class>RecursiveCachingIterator</class>.

<comment>See Also:</comment>
   * CachingIterator::__construct


id: RecursiveCachingIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve los iteradores internos hijos como un RecursiveCachingIterator
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>RecursiveCachingIterator</info>  Los iteradores internos hijos, como un RecursiveCachingIterator.


id: RecursiveCachingIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Comprueba si el elemento actual de un iterador interno tiene hijos
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el iterador interno tiene hijos, en caso contrario <info>false</info>


id: RecursiveCallbackFilterIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Crear un RecursiveCallbackFilterIterator desde un RecursiveIterator
  
  Crea un iterador filtrado desde un RecursiveIterator  usando el parámetro <strong>$callback</strong> para
  determinar si los elementos  son aceptados o rechazados.

<comment>Param:</comment>
  <info>RecursiveIterator</info>  <strong>$iterator</strong>  El iterador recursivo a ser filtrado.
  <info>string</info>             <strong>$callback</strong>  la llamada de retorno, debe retornar <info>true</info> para aceptar el elemento
                                actual  o en caso contrario <info>false</info>. Véase los Ejemplos.
                                
                                Puede ser cualquier valor válido de <info>callable</info>.

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

<comment>See Also:</comment>
   * Ejemplos de RecursiveCallbackFilterIterator
   * RecursiveCallbackFilterIterator::getChildren
   * RecursiveCallbackFilteriterator::hasChildren


id: RecursiveCallbackFilterIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  D3evuelve los iteradores internos hijos contenidos en un RecursiveCallbackFilterIterator
  
  Recupera los hijos filtrados de el iterador interno.
  
  RecursiveCallbackFilterIterator::hasChildren debe ser usado para  determinar si hay hijos para ser
  recuperados.

<comment>Return:</comment>
  <info>RecursiveCallbackFilterIterator</info>  Devuelve un <class>RecursiveCallbackFilterIterator</class> que contiene  a los
                                   hijos.

<comment>See Also:</comment>
   * Ejemplos de RecursiveCallbackFilterIterator
   * RecursiveCallbackFilterIterator::__construct
   * RecursiveCallbackFilteriterator::hasChildren


id: RecursiveCallbackFilterIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Comprueba si los iteradores internos del elemento actual tiene hijos
  
  Devuelve <info>true</info> si el elemento actual tiene hijos, o <info>false</info> en caso contrario.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> si el elemento actual tiene hijos, o <info>false</info> en caso contrario.

<comment>See Also:</comment>
   * Ejemplos de RecursiveCallbackFilterIterator
   * RecursiveCallbackFilterIterator::__construct
   * RecursiveCallbackFilteriterator::getChildren


id: RecursiveDirectoryIterator
type: class
doc:
<comment>Description:</comment>
  La clase <class>RecursiveDirectoryIterator</class> proporciona  una interfaz para iterar recursivamente
  directorios del sistema de ficheros.


id: RecursiveDirectoryIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construye un RecursiveDirectoryIterator
  
  Construye un RecursiveDirectoryIterator para el <strong>$path</strong> proporcionado.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   La ruta de el directorio a ser iterado.
  <info>int</info>     <strong>$flags</strong>  Se pueden proporcionar flags para afectar el comportamiento de algunos métodos.
                  Una lista de flags puede encontrarse en Constantes predefinidas
                  FilesystemIterator. También se pueden establecer más tarde con
                  FilesystemIterator::setFlags.

<comment>Return:</comment>
  <info>unknown</info>  Devuelve el <class>RecursiveDirectoryIterator</class> recién creado.

<comment>See Also:</comment>
   * FilesystemIterator::__construct
   * RecursiveIteratorIterator::__construct
   * Constantes predefinidas FilesystemIterator


id: RecursiveDirectoryIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve un iterador de la entrada actual si se trata de un directorio
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>mixed</info>  El nombre de fichero, información de fichero o $this dependiendo de las banderas
         establecidas. Véase las constantes FilesystemIterator.


id: RecursiveDirectoryIterator::getSubPath
type: function
doc:
<comment>Description:</comment>
  Obtiene sub ruta
  
  Devuelve el sub ruta relativo al directorio dado en el constructor.

<comment>Return:</comment>
  <info>string</info>  La sub ruta.

<comment>See Also:</comment>
   * RecursiveDirectoryIterator::getSubPathName
   * RecursiveDirectoryIterator::key


id: RecursiveDirectoryIterator::getSubPathname
type: function
doc:
<comment>Description:</comment>
  Obtiene la sub ruta y nombre
  
  Obtiene la sub ruta y nombre del fichero.

<comment>Return:</comment>
  <info>string</info>  La sub ruta (sub directorio) y nombre del fichero.

<comment>See Also:</comment>
   * RecursiveDirectoryIterator::getSubPath
   * RecursiveDirectoryIterator::key


id: RecursiveDirectoryIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve si la entrada actual es un directorio y no '.' o '..'
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Param:</comment>
  <info>bool</info>  <strong>$allow_links</strong>  

<comment>Return:</comment>
  <info>bool</info>  Devuelve si la entrada actual es un directorio y no '.' o '..'


id: RecursiveDirectoryIterator::key
type: function
doc:
<comment>Description:</comment>
  Devuelve la ruta y nombre de fichero del directorio
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>string</info>  Devuelve la ruta y nombre de fichero del directorio.


id: RecursiveDirectoryIterator::next
type: function
doc:
<comment>Description:</comment>
  Mover a la siguiente entrada
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: RecursiveDirectoryIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rebobina el directorio hasta el inicio
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: RecursiveFilterIterator
type: class
doc:
<comment>Description:</comment>
  Este iterador abstracto filtra valores no deseados de <class>RecursiveIterator</class>. Esta clase debería
  ampliarse para implementar filtros personalizados. El método RecursiveFilterIterator::accept debe
  ser implementado en la subclase.


id: RecursiveFilterIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Crear un RecursiveFilterIterator a partir de un RecursiveIterator
  
  Crea un <class>RecursiveFilterIterator</class> a partir de un <class>RecursiveIterator</class>.

<comment>Param:</comment>
  <info>RecursiveIterator</info>  <strong>$iterator</strong>  El <class>RecursiveIterator</class> a ser filtrado.

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

<comment>See Also:</comment>
   * RecursiveFilterIterator::getChildren
   * RecursiveFilterIterator::hasChildren
   * FilterIterator::accept


id: RecursiveFilterIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve los hijos del iterador interno contenidos en un RecursiveFilterIterator
  
  Devuelve los hijos del iterador interno contenidos en un <class>RecursiveFilterIterator</class>.

<comment>Return:</comment>
  <info>RecursiveFilterIterator</info>  Devuelve un <class>RecursiveFilterIterator</class> que conntiene los hijos del iterador
                           interno.

<comment>See Also:</comment>
   * RecursiveFilterIterator::hasChildren
   * RecursiveIterator::getChildren


id: RecursiveFilterIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Comprueba si el elemento actual del iterador interno tiene hijos
  
  Comprueba si el elemento actual del iterador interno tiene hijos.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el iterador interno tiene hijos, en caso contrario <info>false</info>

<comment>See Also:</comment>
   * RecursiveFilterIterator::getChildren
   * RecursiveIterator::hasChildren


id: RecursiveIterator
type: class
doc:
<comment>Description:</comment>
  Las clases que implementan <class>RecursiveIterator</class> pueden ser usadas para iterar sobre iteradores de
  forma recursiva.


id: RecursiveIterator::getChildren
type: function
doc:
<comment>Description:</comment>
  Devuelve un iterador para la entrada actual
  
  Devuelve un iterador para la entrada del iterador actual.

<comment>Return:</comment>
  <info>RecursiveIterator</info>  Un iterador de la entrada actual.

<comment>See Also:</comment>
   * <strong>RecursiveIterator::hasChildren()</strong>


id: RecursiveIterator::hasChildren
type: function
doc:
<comment>Description:</comment>
  Retorna si un iterador puede ser creado para la entrada actual
  
  Retorna si un iterador puede ser creado para la entrada actual. RecursiveIterator::getChildren.

<comment>Return:</comment>
  <info>bool</info>  Devuelve <info>true</info> si la entrada actual puede se puede iterar, en caso contrario <info>false</info>.

<comment>See Also:</comment>
   * <strong>RecursiveIterator::getChildren()</strong>


id: RecursiveIteratorIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construir un objeto RecursiveIteratorIterator
  
  Crea un objeto <class>RecursiveIteratorIterator</class> desde un objeto <class>RecursiveIterator</class>.

<comment>Param:</comment>
  <info>Traversable</info>  <strong>$iterator</strong>  El iterador desde el que va a ser construido. Puede ser un objeto
                          <class>RecursiveIterator</class> o <class>IteratorAggregate</class>.
  <info>int</info>          <strong>$mode</strong>      Modo opcional. Los valores posibles son
                          <info>RecursiveIteratorIterator::LEAVES_ONLY</info> - El predeterminado. Lista sólo las
                          hojas en la iteración. <info>RecursiveIteratorIterator::SELF_FIRST</info> - Lista las
                          hojas y los padres en la iteración con los padres primero.
                          <info>RecursiveIteratorIterator::CHILD_FIRST</info> - Lista las hojas y los padres en
                          la iteración con las hojas primero.
  <info>int</info>          <strong>$flags</strong>     Bandera opcional. Los valore posibles son
                          <info>RecursiveIteratorIterator::CATCH_GET_CHILD</info> que ignorará las excepciones
                          lanzadas en llamadas a RecursiveIteratorIterator::getChildren.

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


id: RecursiveIteratorIterator::beginChildren
type: function
doc:
<comment>Description:</comment>
  Inicio del hijo
  
  Se llama después de llamar a RecursiveIteratorIterator::getChildren, y está asociada con
  RecursiveIteratorIterator::rewind.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: RecursiveIteratorIterator::beginIteration
type: function
doc:
<comment>Description:</comment>
  Inicio de la iteración
  
  Se llama cuando la iteración comienza (después del primer RecursiveIteratorIterator::rewind.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

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


id: RecursiveIteratorIterator::callGetChildren
type: function
doc:
<comment>Description:</comment>
  Obtener hijo
  
  Obtiene el hijo de el elemento actual.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>RecursiveIterator</info>  A RecursiveIterator.


id: RecursiveIteratorIterator::callHasChildren
type: function
doc:
<comment>Description:</comment>
  Comprueba si tiene hijos
  
  Llamado para cada elemento para comprobar si tiene hijos o no.
  
  Esta función
  no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> si el elemento tiene hijos, en caso contrario <info>false</info>


